【问题标题】:What's default TTL in Redis?Redis 中的默认 TTL 是多少?
【发布时间】:2018-03-06 14:35:13
【问题描述】:

我无法在网上找到 Redis 中的默认 TTL 是什么。 我知道我可以为特定的 SET 设置 TTL,但不知道什么是默认 TTL。 谁能告诉我 Redis 中的默认生存时间是多少?

【问题讨论】:

    标签: redis ttl


    【解决方案1】:

    没有默认的 TTL。默认情况下,密钥设置为永远存在。

    【讨论】:

    • 这就是我想知道的。非常感谢。
    • 如果我将此值设置为 0 会怎样?
    • @SimonSu 它删除了密钥。
    【解决方案2】:

    没有设置过期时间的key不会过期。

    如果你的意思是TTL command,从v2.8开始,如果没有设置EXPIRE值,它将返回-2。

    编辑: Itamar Haber 的评论是真的,我记得是假的:redis config 中没有这样的设置用于全局 TTL。所以我删除了关于那个的部分。

    Edit2:另请参阅此处有关密钥默认到期的官方文档链接:https://redis.io/commands/expire#appendix-redis-expires

    【讨论】:

    • 没有这样的配置
    • 文档中是否有说明这一点的地方?我很高兴在这里找到了答案,但我希望在文档中找到它。
    【解决方案3】:

    我想默认值设置为“-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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-22
      • 1970-01-01
      • 2019-02-28
      • 2014-10-20
      • 2018-07-12
      • 2015-09-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多