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

Bagaimana cara menerima acara kedaluwarsa Redis dengan simpul?

Sebenarnya dimungkinkan untuk mendengarkan pemberitahuan keyevent jenis "kedaluwarsa" menggunakan klien berlangganan ke saluran tertentu ('[email protected]__:expired' ) dan mendengarkan pesannya acara.

tidak perlu setInterval / setTimeout atau pustaka tambahan

Bukti konsep (bekerja :diuji dengan NodeJS v.9.4.0 )

const redis = require('redis')
const CONF = {db:3}
var pub, sub
//.: Activate "notify-keyspace-events" for expired type events
pub = redis.createClient(CONF)
pub.send_command('config', ['set','notify-keyspace-events','Ex'], SubscribeExpired)
//.: Subscribe to the "notify-keyspace-events" channel used for expired type events
function SubscribeExpired(e,r){
 sub = redis.createClient(CONF)
 const expired_subKey = '[email protected]'+CONF.db+'__:expired'
 sub.subscribe(expired_subKey,function(){
  console.log(' [i] Subscribed to "'+expired_subKey+'" event channel : '+r)
  sub.on('message',function (chan,msg){console.log('[expired]',msg)})
  TestKey()
 })
}
//.: For example (create a key & set to expire in 10 seconds)
function TestKey(){
 pub.set('testing','redis notify-keyspace-events : expired')
 pub.expire('testing',10)
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menelepon BGSAVE dari BookSleeve?

  2. Nonaktifkan Halaman Besar Transparan dari Kubernetes

  3. Ide untuk menskalakan obrolan di AWS?

  4. Menggunakan Redis SCAN di NODE

  5. Menggunakan memcached atau Redis di aws-elasticache