TTL过期时的事件

时间:2015-04-23 20:44:11

标签: node.js redis

当特定键的TTL到期时,Redis会发出任何类型的事件吗?

我希望在任何给定的时间点为我的应用程序添加Redis中的键数。当我生成密钥时,我有一个增量计数器,同样我希望在密钥到期时有一个减量计数器(TTL到期)。 我知道我可以通过执行' KEYS'来实现这一点,但我想知道Redis是否会生成某种事件,当密钥到期时我可以捕获它。 我将使用NodeJS来捕获事件。

谢谢, Raghu。

1 个答案:

答案 0 :(得分:1)

不要在生产中使用KEYS - 这是一种可能长时间运行,耗费RAM的服务拒绝操作。

是的,从v2.8.0开始,Redis确实拥有您正在寻找的东西。阅读Redis Keyspace Notifications页面,特别是有关设置x标志和订阅相关频道的信息。

请注意,虽然这是使用Redis,PubSub消息的好方法。交付无法保证因此,如果邮件丢失,您的计数器可能会随时间推移而发生变化。在这种情况下,定期扫描数据库(使用SCAN命令而非KEYS )刷新它们可能会很好。