Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Jumlah kunci kedaluwarsa yang tercantum oleh perintah info pada redis slave tidak konsisten dengan apa yang saya lihat

expires berisi kunci yang ada dengan TTL yang akan kedaluwarsa, tidak termasuk kunci yang sudah kedaluwarsa.Contoh ( dengan penghilangan informasi tambahan dari info perintah untuk singkatnya ):

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> 

Mengingat bahwa dalam situasi Anda, Anda bertanya tentang kedaluwarsa kunci pada budak, per https://github.com/antirez/redis/issues/2861:

kunci pada budak tidak aktif kedaluwarsa, dan dengan demikian avg_ttl tidak pernah dihitung

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

avg_ttl tidak pernah diinisialisasi pada slave dan oleh karena itu dapat menjadi nilai yang selalu ada di memori di tempat itu.

Dengan demikian, diharapkan bahwa info perintah berperilaku berbeda pada budak.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis INCRBY dengan batas

  2. Membuat pendengar redis - mungkin di php?

  3. Basis data NoSQL mana untuk volume data yang sangat tinggi

  4. Redis pengaturan TTL pada hSet Keys

  5. Migrasi socket.io dari 0.9.x ke 1.x, Masalah dengan mengkonfigurasi RedisStore