Redis中的默认TTL是多少?

40

我在网上找不到Redis的默认TTL是多少。 我知道我可以为特定的SET设置TTL,但不知道默认的TTL是多少。 有人可以告诉我Redis中默认的生存时间是多长吗?

3个回答

62

没有默认的TTL。默认情况下,键被设置为永久存活。


2
这就是我想要知道的全部内容。非常感谢。 - Vedran Juriša
如果我将这个值设为0,会怎样? - Simon Su
1
@SimonSu 它会删除该项键。 - dizzyf

34

如果没有设置过期时间,那些键将不会过期。

如果您特指TTL命令,从Redis v2.8开始,如果没有设置EXPIRE值,该命令将返回-2。

编辑:Itamar Haber的评论是正确的,我记错了:在redis配置中没有这样的全局TTL设置。因此,我删除了关于它的部分内容。

编辑2:关于键的默认到期时间,请参见官方文档链接:https://redis.io/commands/expire#appendix-redis-expires


1
没有这样的配置。 - Itamar Haber
文档中有没有关于这个的说明?我很高兴在这里找到了答案,但我希望能在文档中找到它。 - aaaaaa

7

我认为默认情况下值设置为“-1”,这意味着永远。

127.0.0.1:6379> set datakey "my-data"
OK
127.0.0.1:6379> TTL datakey
(integer) -1
127.0.0.1:6379>

REDIS文档中写道


从Redis 2.8开始,错误情况下的返回值已更改:

如果键不存在,则命令将返回-2。 如果键存在但没有关联的过期时间,则命令将返回-1。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接