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.