码迷,mamicode.com
首页 > 其他好文 > 详细

redis中键空间通知

时间:2017-07-08 21:04:57      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:event   sage   err   数据   span   配置   事件   nbsp   update   

通过redis的键空间通知,当redis删除过期key的时候,及时更新mongodb数据库中user的状态

var Redis = require(‘ioredis‘);
var redis = new Redis();

redis.subscribe(‘__keyevent@0__:expired‘,function(err,count){}) //订阅key过期事件

redis.on(‘message‘,function(channel,message){
    //对redis的操作的客户端不能是订阅消息的客户端
    var redis2 = new Redis();
    redis2.hget(‘user‘,message).then(function(user){        
        if(!user){
            return console.log(user)
        }
        try{
            var user = JSON.parse(user);
        }catch(e){
            console.log(e.message)
        }
        userModel.update({name:user.name},{$set:{status:0}},function(err){
            if(!err){
                console.log(user.name +‘用户状态修改成功‘)
            }
        })
    })
})

//注意要在配置文件中开启键空间通知  notify-keyspace-events Ex

 

redis中键空间通知

标签:event   sage   err   数据   span   配置   事件   nbsp   update   

原文地址:http://www.cnblogs.com/toward-the-sun/p/7137906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!