我已经为redis中的密钥设置了到期值,并希望有机会在密钥被redis删除之前运行一段代码。是否有可能,如果是的话......怎么样? 谢谢是否有可能在密钥过期之前挂接redis
1
A
回答
0
这对于标准OS Redis来说是不可能的。然而,有一种方法可以在没有太多麻烦的情况下做类似的事情。如果您停止使用Redis的过期时间(至少对于那些您在“挂钩”中感兴趣的键)并在代码中“手动”管理到期日,您可以在到期事件之前/期间/之后执行任何您想要的操作。
由于Redis提供开箱即用的关键级失效,因此人们通常满足于此。在某些情况下,例如,在Set中过期的成员,唯一的办法是手动方法,但是当您需要更好的控制时,该方法对于常规密钥仍然有效。
2
我的解决方案是创建一个新的密钥,使用相同的名称作为一个我想挂钩,只有我加了一个前缀,它表明它是超时使用一个密钥(“TO”) - 是这样的:
set key1 data1
set TO_key1 ""
expire TO_key1 20
在上面的例子中,只要“TO_key1”过期,它会通知我的程序,我将有机会在我手动删除“key1”之前运行我的代码。
- 我发现这个链接是非常有用的用于创建Redis的听众:Redis Key expire notification with Jedis
相关问题
- 1. 是否有可能过期从gemfire区域的特定密钥数据像redis
- 2. Spring Data Redis过期密钥
- 3. redis如何过期密钥?
- 4. 存储带有在redis中过期的前缀的密钥
- 5. Redis是否在保存或bgsave上清理过期的密钥?
- 6. Redis在大型密钥集上过期
- 7. 在redis中过期的密钥
- 8. Redis:是否可以通过密钥获取Set的一个值?
- 9. Redis的KEYSPACE声明和密钥过期
- 10. 回收Redis中的过期密钥
- 11. 为什么REDIS密钥持续过期?
- 12. 是否有可能设置过期到redis键(批量操作)
- 13. 在memcache.get()之前测试字符串是否有效密钥
- 14. 在创建密钥之前,您是否可以不通过订购密钥来订购字典?
- 15. 是否有可能在Redis中洗牌?
- 16. Redis密钥匹配性能
- 17. 是否有可能在伪元素之前提供链接?
- 18. 是否可以在指定的日期之前加密数据?
- 19. redis中有没有可能对密钥类型进行分类?
- 20. 是否可以通过前缀获取/搜索Memcached密钥?
- 21. Redis在内存已满之前逐出密钥
- 22. Redis /从redis获取所有密钥和值,前缀为
- 23. 是否有可能在PHP中使用array_shift()并获取密钥?
- 24. 在lua脚本的命令之间,redis服务器是否删除过期的密钥?
- 25. JSON:是否有可能具有多个值的密钥?
- 26. 是否有自动过期旧密钥的localStorage解决方案?
- 27. 订阅过期后,MSDN产品密钥是否仍然有效?
- 28. 在调用doFinal之前检查RSA密钥是否正确?
- 29. Redis SET UNION操作中的密钥数量是否有限制?
- 30. Redis LRU以及钥匙是否单独过期?