我正在浏览redis上的tutorial并遇到一个没有意义的命令。从我下面的代码中,我得到一个-2
生存时间的返回值,该值肯定仍然存在。我的代码不应该返回-1
永不过期吗?
教程说:
Redis可以被告知密钥应该只存在一段时间。这是通过EXPIRE和TTL命令完成的。
SET资源:锁定“Redis Demo” EXPIRE资源:锁定120
这导致密钥资源:锁定在120秒内被删除。您可以使用TTL命令测试密钥的存在时间。它返回将被删除的秒数。
TTL资源:lock => 113 // 113s之后 TTL资源:lock => -2
密钥的TTL为-2意味着该密钥不再存在(不再)。密钥的TTL为-1表示它永不过期。请注意,如果您设置了一个键,它的TTL将被重置。
SET资源:锁定“Redis Demo 1”
EXPIRE资源:锁120
TTL资源:lock => 119个
SET资源:锁定“Redis Demo 2”
TTL资源:lock => -1
这是我输入交互式终端的代码。我的假设是第3行应该给我回-1,因为永不过期。我从未设定过期时间,所以我不知道为什么我要回来-2。
> SET loggedIn "True"
OK
> TTL logggedIn
(integer) -2
> GET loggedIn
"True"
答案 0 :(得分:0)
您遇到拼写错误:设置名为loggedIn
的密钥,同时尝试获取logggedIn
的TTL