如何在REDIS中密钥到期时获得回调

时间:2012-11-01 09:56:19

标签: python redis bottle

我正在使用Bottle开发应用程序。在我的注册表格中,我用一个唯一的密钥通过邮件确认电子邮件。我将此密钥存储在REDIS中,有效期为4天。如果用户未在4天内确认电子邮件,则密钥将过期。为此,我想永久删除我的数据库(mongoDB)中的用户条目。

当然我不需要连续轮询我的redis服务器以检查密钥是否存在。

有没有办法从Redis获得回调?

或者还有其他有效方法吗?

2 个答案:

答案 0 :(得分:15)

此功能在Redis 2.8中实现,请在此处阅读http://redis.io/topics/notifications

答案 1 :(得分:9)

redis中没有这样的回调(我不知道)。

我会这样做:

  • 当用户注册时,put his id into a sorted set其中得分为时间戳(现在为+ 4天)且成员为用户ID。
  • 有一个定期作业,可以从时间戳过去的那个有序集中获取所有记录。
  • 遍历这些用户ID并执行操作(如果他没有确认 - 删除所有用户的数据)。