Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const redis = require('redis');
- const client = redis.createClient();
- const subscriber = redis.createClient();
- const KEY_EXPIRING_TIME = 10; // seconds
- client.setex('myKey', KEY_EXPIRING_TIME, 'myValue');
- subscriber.on('message', function(channel, msg) {
- console.log( `On ${channel} received ${msg} event`);
- });
- subscriber.subscribe('myKey', function (err) {
- console.log('subscribed!');
- });
- const redis = require('redis');
- const client = redis.createClient();
- const subscriber = redis.createClient();
- const KEY_EXPIRING_TIME = 10; // seconds
- var args = ['myKey', KEY_EXPIRING_TIME, 'myValue'];
- client.setex('myKey', KEY_EXPIRING_TIME, 'myValue');
- subscriber.on('message', function(channel, msg) {
- console.log( `On ${channel} received ${msg} event`);
- });
- subscriber.subscribe('myKey', function (err) {
- console.log('subscribed!');
- });
- setInterval(function() {
- client.get('myKey', function(err, value) {
- if (err) {
- throw err;
- }
- if (value) {
- console.log('value:', value);
- }
- else {
- console.log('value is gone');
- process.exit();
- }
- });
- }, 5e3);
- var RedisNotifier = require('redis-notifier');
- var eventNotifier = new RedisNotifier(redis, {
- redis : { host : '127.0.0.1', port : 6379 },
- expired : true,
- evicted : true,
- logLevel : 'DEBUG' //Defaults To INFO
- });
- //Listen for event emission
- eventNotifier.on('message', function(pattern, channelPattern, emittedKey) {
- var channel = this.parseMessageChannel(channelPattern);
- switch(channel.key) {
- case 'expired':
- this._handleExpired(emittedKey);
- break;
- case "evicted":
- this._handleEvicted(emittedKey);
- break;
- default:
- logger.debug("Unrecognized Channel Type:" + channel.type);
- }
- });
- 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 = '__keyevent@'+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)
- }
Add Comment
Please, Sign In to add comment