Questo forse ha qualcosa a che fare con la configurazione del tuo server redis.
Puoi eseguire MONITOR da redis cli sul tuo computer host.
Di solito ci si connette tramite il cli ad esempio:
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
La porta predefinita è 6379
Questo mostrerà tutte le interazioni con il server redis, tuttavia non eseguirlo poiché sempre in esecuzione ha un calo delle prestazioni ma ottimo per la risoluzione dei problemi.
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]
Questo dovrebbe darti un'indicazione del problema.
Puoi anche eseguire il comando INFO da redis cli per vedere le statistiche del server e informazioni come l'utilizzo della memoria.
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>
Usa anche il comando INCRBY dal tuo client redis nel tuo codice, altrimenti dovrai aumentare il tuo valore di conteggio prima di impostarlo che non è coerente con il modello asincrono.
https://redis.io/commands/incrby
Penso che il tuo problema sia perché questo è asincrono giusto?
Quindi i conteggi non sono sincronizzati quando vengono pubblicati poiché alcuni potrebbero essere attesi prima di altri.
Ad ogni modo, potresti provare a pubblicarli in sincronia per vedere se questo fa la differenza, quindi sai che è il problema e sarebbe meglio usare i comandi INCR redis per questo scopo.