Cela a peut-être quelque chose à voir avec la configuration de votre serveur Redis.
Vous pouvez exécuter MONITOR à partir de la cli redis sur votre machine hôte.
Généralement on se connecte via la cli par exemple :
https://redis.io/topics/rediscli
redis-cli -h <your server ip> -p <your server port> -a <if you have a server password enabled>
$ redis-cli -h host -p port -a password
Le port par défaut est 6379
Cela affichera toutes les interactions avec le serveur Redis, mais ne l'exécutez pas car il a toujours un impact sur les performances, mais est idéal pour le dépannage.
https://redis.io/commands/monitor
$ redis> monitor
1339518083.107412 [0 127.0.0.1:60866] "keys" "*"
1339518087.877697 [0 127.0.0.1:60866] "dbsize"
1339518090.420270 [0 127.0.0.1:60866] "set" "x" "6"
1339518096.506257 [0 127.0.0.1:60866]
Cela devrait vous donner une indication du problème.
Vous pouvez également exécuter la commande INFO à partir de la cli redis pour voir les statistiques du serveur et des informations telles que l'utilisation de la mémoire.
https://redis.io/commands/info
redis> INFO
# Server
redis_version 999.999.999
redis_git_sha1:3c968ff0
redis_git_dirty:0
redis_build_id:51089de051945df4
redis_mode:standalone
os:Linux 4.8.0-1-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:6.3.0
process_id:8394
</snip>
Utilisez également la commande INCRBY de votre client Redis dans votre code, sinon vous devrez incrémenter votre valeur de comptage avant de la définir, ce qui n'est pas cohérent avec le modèle asynchrone.
https://redis.io/commands/incrby
Je pense que votre problème est dû au fait que c'est asynchrone, n'est-ce pas?
Ainsi, les décomptes ne sont pas synchronisés lorsqu'ils sont publiés, car certains peuvent être attendus avant d'autres.
Quoi qu'il en soit, vous voudrez peut-être essayer de les publier de manière synchrone pour voir si cela fait une différence, alors vous savez que c'est le problème et qu'il serait préférable d'utiliser les commandes redis INCR à cette fin.