sql >> Databasteknik >  >> NoSQL >> Redis

Antalet utgående nycklar listade av infokommandot på redis-slaven överensstämmer inte med vad jag ser

expires innehåller befintliga nycklar med TTL som kommer att löpa ut, inte inklusive redan utgångna nycklar.Exempel ( med utelämnande av extra information från info kommando för korthet ):

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> 

Med tanke på att du i din situation frågar om nyckelns utgång på slavar, per https://github.com/antirez/redis/issues/2861:

nycklar på en slav är inte aktivt förfallna, och därför beräknas aldrig avg_ttl

Och per https://groups.google.com/forum/#!topic/redis-db/NFTpdmpOPnc:

avg_ttl initieras aldrig på en slav och därför kan det vara vilket evigt godtyckligt värde som finns i minnet på den platsen.

Det är alltså att förvänta sig att info kommandot beter sig annorlunda på slavar.



  1. MongoDB $gte Aggregation Pipeline Operator

  2. phpredis på fedora 12

  3. MongoDB $sinh

  4. Vad är MongoDB batch operation max storlek?