Dette har måske noget at gøre med din redis-serverkonfiguration.
Du kan køre MONITOR fra redis cli på din værtsmaskine.
Normalt forbinder du via cli for eksempel:
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
Standardporten er 6379
Dette vil vise alle interaktioner med redis-serveren, men kør ikke dette, da det altid kører, det har et præstationshit, men fantastisk til fejlfinding.
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]
Dette skulle give dig en indikation af problemet.
Du kan også køre INFO-kommandoen fra redis cli for at se serverstatistik og information såsom hukommelsesbrug.
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>
Brug også INCRBY-kommandoen fra din redis-klient i din kode, ellers bliver du nødt til at øge din tælleværdi, før du indstiller den, hvilket ikke stemmer overens med det asynkrone mønster.
https://redis.io/commands/incrby
Jeg tror, dit problem er, fordi dette er asynkront ikke?
Så tællingerne er ude af synkronisering, når de bliver offentliggjort, da nogle kan afventes, før andre bliver det.
Uanset hvad, vil du måske prøve at sende dem synkront for at se, om det gør en forskel, så ved du, at det er problemet, og det ville være bedre at bruge redis INCR-kommandoer til dette formål.