在Redis中回收过期密钥

在Redis中回收过期密钥,redis,Redis,我试图在Redis中解决以下问题 我有一个包含各种可用密钥的列表: List MASTER: 111A 222B 333C 444D 555E 我希望能够从列表中弹出一个元素,并将其用作带有expires的键 到期后,我想能够把这个号码推回到主机上,以备将来使用。我看不出任何明显的方法可以做到这一点,所以我正在寻求一种创造性的方法。最好的方法是在密钥过期时被Redis召回,然后采取行动。 但是,回调支持仍有待添加(http://code.google.com/p/redis/issues/de

我试图在Redis中解决以下问题

我有一个包含各种可用密钥的列表:

List MASTER:
111A
222B
333C
444D
555E
我希望能够从列表中弹出一个元素,并将其用作带有expires的键


到期后,我想能够把这个号码推回到主机上,以备将来使用。我看不出任何明显的方法可以做到这一点,所以我正在寻求一种创造性的方法。

最好的方法是在密钥过期时被Redis召回,然后采取行动。 但是,回调支持仍有待添加(http://code.google.com/p/redis/issues/detail?id=360).
您可以使用包含自定义/社区修改的Redis版本来支持此功能(如我发布的链接中的最后一个),或者更糟:):开始跟踪客户端应用程序中的密钥和超时。

我建议在Redis中使用EXPIRE命令时不要重复使用密钥,就像您描述的那样——这不是目的。如果它不是密钥的一部分,您会觉得有什么不同吗?说一个需要回收以供将来使用的值?我不确定这是不是一个问题。或者他不能做错事,使用可以生成并丢弃的GUID键。