To může mít něco společného s konfigurací vašeho serveru redis.
MONITOR můžete spustit z redis cli na vašem hostitelském počítači.
Obvykle se připojujete přes cli, například:
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
Výchozí port je 6379
Tím se zobrazí všechny interakce se serverem redis, ale nespouštějte to, protože vždy běží, má to výkon, ale skvělé pro řešení problémů.
https://redis.io/commands/monitor
"pre> $ 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]
To by vám mělo napovědět problém.
Můžete také spustit příkaz INFO z redis cli a zobrazit statistiky serveru a informace, jako je využití paměti.
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>
Ve svém kódu také použijte příkaz INCRBY z klienta redis, jinak bude nutné zvýšit vaši hodnotu počtu před jejím nastavením, což není v souladu s asynchronním vzorem.
https://redis.io/commands/incrby
Myslím, že váš problém je, protože je to asynchronní, že?
Takže počty nejsou synchronizované, když jsou zveřejněny, protože některé mohou být očekávány dříve, než jiné.
Ať tak či onak, možná je budete chtít zkusit odeslat synchronně, abyste zjistili, zda to má nějaký význam, pak víte, že to je problém a bylo by lepší použít pro tento účel příkazy redis INCR.