是否可以确定易失性密钥的初始TTL?

时间:2012-09-17 18:34:20

标签: redis

在一个键值持久性api中,我正在移植到Redis,我正在尝试实现一个更新密钥生存时间的函数。原始代码将ttl存储为时间戳和分钟数;通过写一个新的时间戳来更新ttl(密钥在时间戳+ delta之后到期)。

我注意到Redis提供了TTL命令,但这只提供剩余时间。

我想知道的是,是否有办法从Redis中检索原始TTL(使用EXPIRE设置等),或者我需要在我存储的值中添加TTL元字段(就像原始代码一样)。

编辑: 我正在使用Redis Server v2.4.10

1 个答案:

答案 0 :(得分:4)

在内部,Redis存储将TTL转换为unix时间戳。见function expireGenericCommand in db.c。因此,Redis无法返回您指定的TTL,只是因为它不以该格式存储它。

如果对您的应用程序很重要,则需要添加TTL元字段。