Redis 的客户端能否得到某个 key 失效的回调事件
将缓存数据放在 Redis 的时候可以指定有效时间,当这个有效时间过后,也就是数据要失效的时候,客户端能否获得到这个事件的回调?
我在 Stackoverflow 看到一个同样的问题,说是不支持,但其提供另外的解决办法不适合我。
Redis 官方关于 keyspace 的通知文档:http://redis.io/topics/notifications
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Keyspace机制实现后,client可能获得keyspace变更的通知(pub/sub),对过期的key同样采用lazy策略,并不保证过期后立即得到通知。
http://redis.io/topics/notifications
这是不可能的。
这是不可能的。
LZ 找到指定key的过期回调的解决方法了吗?
我感觉通过http://redis.io/topics/notifications 的方法做的话,只要有key失效,就会有回调。然后就要在程序中判断是不是我要的key,感觉效率太低了。
Redis两种过期清理机制(消极过期和主动清理)都不能保证key过期后立即感知到,客户端更无从获得该信息。