TTL过期时的事件

当TTL到期时,Redis是否发出任何types的事件?

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

谢谢,拉古。

不要在生产中使用KEYS – 这是一个潜在的长时间运行,RAM消耗,服务拒绝操作。

是的,从v2.8.0开始,Redis确实有你在找的东西。 阅读Redis Keyspace Notifications页面,具体设置x标志并订阅相关频道。

请注意,尽pipe这是使用Redis的好方法,但是PubSub消息的传递并不能保证,因此如果消息丢失,计数器可能会随时间而移动。 在这种情况下,定期扫描数据库(使用SCAN命令而不是KEYS )可能会更好。