2015-06-16 63 views

回答

0

这对于标准OS Redis来说是不可能的。然而,有一种方法可以在没有太多麻烦的情况下做类似的事情。如果您停止使用Redis的过期时间(至少对于那些您在“挂钩”中感兴趣的键)并在代码中“手动”管理到期日,您可以在到期事件之前/期间/之后执行任何您想要的操作。

由于Redis提供开箱即用的关键级失效,因此人们通常满足于此。在某些情况下,例如,在Set中过期的成员,唯一的办法是手动方法,但是当您需要更好的控制时,该方法对于常规密钥仍然有效。

2

我的解决方案是创建一个新的密钥,使用相同的名称作为一个我想挂钩,只有我加了一个前缀,它表明它是超时使用一个密钥(“TO”) - 是这样的:

set key1 data1 
set TO_key1 "" 
expire TO_key1 20 

在上面的例子中,只要“TO_key1”过期,它会通知我的程序,我将有机会在我手动删除“key1”之前运行我的代码。

相关问题