Dit heeft misschien iets te maken met je redis-serverconfiguratie.
U kunt MONITOR uitvoeren vanaf de redis cli op uw hostcomputer.
Meestal maak je verbinding via de cli bijvoorbeeld:
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
Standaardpoort is 6379
Hiermee worden alle interacties met de redis-server weergegeven, maar voer dit niet uit, want altijd draaien heeft een prestatiehit, maar is geweldig voor het oplossen van problemen.
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]
Dit zou u een indicatie van het probleem moeten geven.
U kunt ook de opdracht INFO uitvoeren vanaf de redis-cli om serverstatistieken en informatie zoals geheugengebruik te bekijken.
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>
Gebruik ook de INCRBY-opdracht van uw redis-client in uw code, anders moet u uw telwaarde verhogen voordat u deze instelt, wat niet consistent is met het asynchrone patroon.
https://redis.io/commands/incrby
Ik denk dat je probleem is dat dit asynchroon is, toch?
De tellingen lopen dus niet synchroon wanneer ze worden gepost, omdat op sommige kan worden gewacht voordat op andere wordt gewacht.
Hoe dan ook, je zou kunnen proberen ze synchroon te posten om te zien of dat een verschil maakt, dan weet je dat dat het probleem is en zou je voor dit doel beter de redis INCR-commando's kunnen gebruiken.