Session 如何将事件侦听器添加到具有nodejs和express的会话(redis)中?
每当用户的会话被破坏/超时时,我想运行一个函数。有没有一种方法可以使用redis会话存储在nodejs和express中 会话存储本身从EventEmitter继承: 尽管没有一个实现会发出要绑定到的事件,包括redis store: 你可以很容易地把redis和黑客连接起来,在自己身上破解这些事件,这样你就可以在需要的地方绑定它们Session 如何将事件侦听器添加到具有nodejs和express的会话(redis)中?,session,node.js,redis,express,Session,Node.js,Redis,Express,每当用户的会话被破坏/超时时,我想运行一个函数。有没有一种方法可以使用redis会话存储在nodejs和express中 会话存储本身从EventEmitter继承: 尽管没有一个实现会发出要绑定到的事件,包括redis store: 你可以很容易地把redis和黑客连接起来,在自己身上破解这些事件,这样你就可以在需要的地方绑定它们 RedisStore.prototype.destroy = function(sid, fn){ sid = this.prefix + sid;
RedisStore.prototype.destroy = function(sid, fn){
sid = this.prefix + sid;
this.client.del(sid, fn);
};
变成
RedisStore.prototype.destroy = function(sid, fn){
sid = this.prefix + sid;
this.client.del(sid, fn);
this.emit('destroy');
};
然后您可以绑定到“销毁”事件
var connect = require('connect')
, RedisStore = require('connect-redis')(connect);
var store = new RedisStore;
store.on('destroy', function() {
// session was destroyed
});
connect.createServer(
connect.cookieParser(),
connect.session({ store: store, secret: 'keyboard cat' })
);