Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Can';t获取密钥';订阅到期后的s值_Node.js_Redis_Node Redis - Fatal编程技术网

Node.js Can';t获取密钥';订阅到期后的s值

Node.js Can';t获取密钥';订阅到期后的s值,node.js,redis,node-redis,Node.js,Redis,Node Redis,我有一个浅密匙,它应该过期,在听了它的过期之后,我取下这个密匙,生成一个保存真实值的密匙,并尝试获取它的值 代码: 运行listener.get后出现以下错误: ReplyError:ERR only(p)SUBSCRIBE/(p)UNSUBSCRIBE/PING/QUIT在此上下文中允许 我需要实际键的值。如中所述: 一旦客户端进入订阅状态,它就不应该 发出除附加SUBSCRIBE、PSUSCRIBE、, 取消订阅、取消订阅、PING和退出命令 通常的模式是有两个客户端连接(调用redis.c

我有一个浅密匙,它应该过期,在听了它的过期之后,我取下这个密匙,生成一个保存真实值的密匙,并尝试获取它的值

代码:

运行listener.get后出现以下错误:

ReplyError:ERR only(p)SUBSCRIBE/(p)UNSUBSCRIBE/PING/QUIT在此上下文中允许

我需要实际键的值。如中所述:

一旦客户端进入订阅状态,它就不应该 发出除附加SUBSCRIBE、PSUSCRIBE、, 取消订阅、取消订阅、PING和退出命令

通常的模式是有两个客户端连接(调用
redis.createClient()
两次)。以下是一个例子:

基本上,一个连接用于过期事件,另一个连接用于所需的其他逻辑(获取键值等)

//.: Set the config for "notify-keyspace-events" channel used for expired type events
listener.send_command('config', ['set','notify-keyspace-events','Ex']);

// __keyevent@0__:expired is the channel name to which we need to subscribe, 0 is the default DB
listener.subscribe('__keyevent@0__:expired');
listener.on('message', (chan, msg) => {
  listener.get(`${msg}-details`, redis.print);
});