【问题标题】:Beginner Redis Command初学者 Redis 命令
【发布时间】:2017-04-10 03:15:38
【问题描述】:

我正在查看 redis 上的 tutorial 并遇到了一个没有意义的命令。从下面的代码中,我得到了一个-2 time-to-live 返回值,该值肯定仍然存在。我的代码不应该返回 -1 以表示永不过期吗?

教程说:

可以告诉 Redis,一个键应该只存在一定的时间长度。这是通过 EXPIRE 和 TTL 命令完成的。

SET resource:lock "Redis Demo" EXPIRE 资源:lock 120

这会导致 key resource:lock 在 120 秒内被删除。您可以使用 TTL 命令测试密钥将存在多长时间。它返回将被删除之前的秒数。

TTL 资源:锁 => 113 // 113 秒后 TTL资源:lock => -2

密钥 TTL 的 -2 表示密钥不存在(不再存在)。密钥的 TTL 为 -1 表示它永远不会过期。请注意,如果您设置一个键,它的 TTL 将被重置。

SET resource:lock "Redis Demo 1"
过期资源:lock 120
TTL 资源:锁 => 119
SET 资源:锁定“Redis Demo 2”
TTL资源:lock => -1

这是我在交互式终端中输入的代码。我的假设是第 3 行应该给我回-1,因为它永不过期。我从来没有设置过期时间,所以我不知道我为什么要返回 -2。

> SET loggedIn "True"  
OK 
> TTL logggedIn   
(integer) -2  
> GET loggedIn  
"True"

【问题讨论】:

    标签: redis ttl


    【解决方案1】:

    你有一个拼写错误:你设置了一个名为loggedIn的键,同时试图获取logggedIn的TTL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-05
      • 2018-09-21
      • 2011-06-14
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      相关资源
      最近更新 更多