我在redis上浏览教程,发现一个没有意义的命令。从下面的代码中,我得到了一个绝对仍然存在的键的-2实时返回值。我的代码不应该返回一个永不过期的-1吗?
该教程说:
Redis可以被告知,密钥应该只存在一定的时间。这是通过EXPIRE和TTL命令完成的。 SET资源:锁定"Redis演示“过期资源:lock 120 这将导致在120秒内删除密钥资源:lock。您可以用TTL命令测试密钥存在的时间。它返回的秒数,直到它被删除。 TTL资源:lock => 113 //后113 s TTL资源:lock => -2 键的TTL的-2表示密钥不存在(不再存在)。A -1对于密钥的TTL意味着它永远不会过期。注意,如果您设置了一个键,它的TTL将被重置。 设置资源:锁定"Redis演示1“ 过期资源:lock 120 TTL资源:lock => 119 设置资源:锁定"Redis演示2“ TTL资源:lock => -1
这是我在交互终端中输入的代码。我的假设是,第三行应该给我回-1,因为永远不会过期。我从来没有设定过过期时间,所以我不知道为什么要回来-2。
> SET loggedIn "True"
OK
> TTL logggedIn
(integer) -2
> GET loggedIn
"True"发布于 2016-11-26 02:15:37
您有一个拼写错误:设置一个名为loggedIn的键,同时尝试获取logggedIn的TTL。
https://stackoverflow.com/questions/40809751
复制相似问题