Może to mieć coś wspólnego z konfiguracją serwera redis.
Możesz uruchomić MONITOR z redis cli na swoim komputerze głównym.
Zwykle łączysz się przez CLI, na przykład:
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
Domyślny port to 6379
Spowoduje to wyświetlenie wszystkich interakcji z serwerem redis, jednak nie uruchamiaj tego tak, jak zawsze działa, ponieważ ma obniżoną wydajność, ale świetnie nadaje się do rozwiązywania problemów.
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]
Powinno to dać wskazówkę dotyczącą problemu.
Możesz także uruchomić polecenie INFO z redis cli, aby zobaczyć statystyki serwera i informacje, takie jak użycie pamięci.
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>
Użyj również polecenia INCRBY z klienta redis w swoim kodzie, w przeciwnym razie będziesz musiał zwiększyć wartość licznika przed jej ustawieniem, co nie jest zgodne ze wzorcem asynchronicznym.
https://redis.io/commands/incrby
Myślę, że twój problem polega na tym, że jest to asynchroniczne, prawda?
Dlatego liczby nie są zsynchronizowane, gdy są publikowane, ponieważ niektóre mogą być oczekiwane przed innymi.
Tak czy inaczej, możesz spróbować opublikować je synchronicznie, aby sprawdzić, czy to robi różnicę, wiesz, że jest to problem i lepiej byłoby użyć do tego celu poleceń redis INCR.