Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Liczba wygasających kluczy wymienionych przez polecenie info na serwerze redis slave nie jest zgodna z tym, co widzę

expires zawiera istniejące klucze z TTL, które wygasną, nie obejmuje już wygasłych kluczy.Przykład ( z pominięciem dodatkowych informacji z info polecenie dla zwięzłości ):

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> SETEX mykey1 1000 "1"
OK
127.0.0.1:6379> SETEX mykey2 1000 "2"
OK
127.0.0.1:6379> SETEX mykey3 1000 "3"
OK
127.0.0.1:6379> info
# Keyspace
db0:keys=3,expires=3,avg_ttl=992766
127.0.0.1:6379> SETEX mykey4 1 "4"
OK
127.0.0.1:6379> SETEX mykey5 1 "5"
OK
127.0.0.1:6379> info
# Keyspace
db0:keys=3,expires=3,avg_ttl=969898
127.0.0.1:6379> keys *
1) "mykey2"
2) "mykey3"
3) "mykey1"
127.0.0.1:6379> 

Biorąc pod uwagę, że w twojej sytuacji pytasz o wygaśnięcie klucza na niewolnikach, na https://github.com/antirez/redis/issues/2861:

klucze na urządzeniu podrzędnym nie wygasają, dlatego avg_ttl nigdy nie jest obliczany

I na https://groups.google.com/forum/#!topic/redis-db/NFTpdmpOPnc:

avg_ttl nigdy nie jest inicjowany na urządzeniu podrzędnym, a zatem może być dowolną dowolną wartością znajdującą się w pamięci w tym miejscu.

Dlatego należy się spodziewać, że info komenda zachowuje się inaczej na urządzeniach podrzędnych.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Polecenie Redis, aby uzyskać wszystkie dostępne klucze?

  2. System nie został uruchomiony z systemem systemd jako systemem init (PID 1). Nie mogę działać

  3. Opróżnić/usunąć zestaw w Redis?

  4. Relacyjna baza danych w pamięci?

  5. rails + docker + sidekiq + Błąd łączenia z Redis na 127.0.0.1:6379 (Errno::ECONNREFUSED)