我想制作一个基于群集的NodeJS脚本,该脚本有8个或更多工作者。独立使用的脚本SetTimeout
和定时器存储在NodeJS脚本内部。现在我必须对此做一些事情,我想也许我可以使用redis到期并以某种方式在密钥到期时从redis调用函数?
有人能告诉我一个小例子吗?还有一个问题:这有多可靠?
答案 0 :(得分:0)
如果您使用的是Redis 2.8.0+,则有keyspace notifications。这些使用Redis中现有的pubsub机制,因此您只需订阅这些不同的通知。
您确实需要确保启用这些通知,因为默认情况下它们已被禁用。您可以通过更改永久解决方案的redis.conf
配置文件来执行此操作,也可以通过Redis CLI临时启用它CONFIG SET notify-keyspace-events EKx
。您也可以使用以下内容从redis
模块启用它:
client.config('set', 'notify-keyspace-events', 'EKx', function(err) {
if (err) throw err;
});