我可以轻松地使用Redis Pub/Sub功能在Redis客户端之间发送消息,但是我无法找到听取基本Redis事件(如SET或DEL)的语法.我想创建一个客户端来监听基本的Redis事件,比如关键/值对的udpating,但是我找不到的Pub/Sub库都没有提供如何监听删除或集等基本事件的示例.
例如,我正在寻找以下内容:
var redis = require('redis');
var client = redis.createClient();
client.on('SET', function(result){
//this will be invoked when any key or a specific key is set
}
client.on('DEL', function(result){
//this will be invoked when any key or a specific key is deleted
}
Run Code Online (Sandbox Code Playgroud)
这个高级代码存在吗?
是的,这是可能的!以下是基于代码的示例:
var redis = require('redis');
var client = redis.createClient();
var EVENT_SET = '__keyevent@0__:set';
var EVENT_DEL = '__keyevent@0__:del';
client.on('message', function(channel, key) {
switch (channel) {
case EVENT_SET:
console.log('Key "' + key + '" set!');
break;
case EVENT_DEL:
console.log('Key "' + key + '" deleted!');
break;
}
});
client.subscribe(EVENT_SET, EVENT_DEL);
Run Code Online (Sandbox Code Playgroud)
在尝试运行上面的代码之前,请记住notify-keyspace-events在配置中正确设置(Eg$就足够了).
| 归档时间: |
|
| 查看次数: |
1523 次 |
| 最近记录: |