如何在 REDIS 中的密钥过期时获取回调
Posted
技术标签:
【中文标题】如何在 REDIS 中的密钥过期时获取回调【英文标题】:How to get callback when key expires in REDIS 【发布时间】:2012-10-21 21:29:04 【问题描述】:我正在使用 Bottle 开发应用程序。在我的注册表单中,我使用唯一密钥通过邮件确认电子邮件。我将此密钥存储在 REDIS 中,有效期为 4 天。如果用户在 4 天内未确认电子邮件,则密钥将过期。为此,我想从我的数据库(mongoDB)中永久删除用户条目。
当然,我不需要不断轮询我的 redis 服务器来检查 key 是否存在。
有没有办法从 Redis 获取回调??
或者还有其他有效的方法吗?
【问题讨论】:
请参阅Notification of key expiration in redis python 获取最新答案。 【参考方案1】:redis 中没有这样的回调(我不知道)。
我会这样做:
当用户注册时,put his id into a sorted set 分数是时间戳(现在 + 4 天),成员是用户 ID。 有一个定期作业,该作业从时间戳为过去的排序集中获取所有记录。 遍历这些用户 ID 并采取行动(如果他没有确认 - 删除所有用户的数据)。【讨论】:
更多信息在***.com/questions/11810020/… 技术很棒,如果你不介意我会复制的^_^【参考方案2】:此功能在 Redis 2.8 中实现,请在此处阅读 http://redis.io/topics/notifications
【讨论】:
以上是关于如何在 REDIS 中的密钥过期时获取回调的主要内容,如果未能解决你的问题,请参考以下文章