当redis键到期时自动更改值

时间:2014-06-14 08:29:15

标签: python redis

我正在使用redis的hset:

hset(name, k, (level, info, t))

如果(名字,k)在一段时间后过期,我想自动设定等级= -1。

任何命令,python都是首选。

1 个答案:

答案 0 :(得分:1)

这不可能以可靠的方式完成,因为到期不会在给定时刻触发某些操作,但是在访问该密钥期间或在自动清理过程期间的某个时间段。

在实践中,对于少量密钥,这不会造成长时间的延迟,您可能会订阅一个事件,报告到期。

要订阅到期事件,请参阅related SO answer

编辑:

如果您想修改该值,则必须运行订阅的客户端,并通过修改该值来响应该事件。

但是由于它发生时的性质(可能是因为尝试使用该密钥的反应,这应该在刚才过期),这个监听代码可能有点太迟了。这取决于您的实际情况。