Redis 的客户端能否得到某个 key 失效的回调事件

红薯 发布于 2013/12/27 10:47
阅读 9K+
收藏 1

将缓存数据放在 Redis 的时候可以指定有效时间,当这个有效时间过后,也就是数据要失效的时候,客户端能否获得到这个事件的回调?

我在 Stackoverflow 看到一个同样的问题,说是不支持,但其提供另外的解决办法不适合我。

Redis 官方关于 keyspace 的通知文档:http://redis.io/topics/notifications

加载中
1
xingren23
xingren23

Redis两种过期清理机制(消极过期和主动清理)都不能保证key过期后立即感知到,客户端更无从获得该信息。

1
b
benny周

LZ 找到指定key的过期回调的解决方法了吗?

我感觉通过http://redis.io/topics/notifications 的方法做的话,只要有key失效,就会有回调。然后就要在程序中判断是不是我要的key,感觉效率太低了。

0
月影又无痕
月影又无痕
这是不可能的。
0
红薯
红薯

引用来自“月影又无痕”的答案

这是不可能的。

我刚看了 Jedis 是支持 Publish/Subscribe 的

0
xingren23
xingren23

Keyspace机制实现后,client可能获得keyspace变更的通知(pub/sub),对过期的key同样采用lazy策略,并不保证过期后立即得到通知。

http://redis.io/topics/notifications

返回顶部
顶部