2016-11-25 66 views
0

我正在通过redis上的tutorial,遇到一个没有意义的命令。从我的下面的代码中,我得到一个确实仍然存在的密钥的-2生存时间返回值。我的代码不应该返回-1永不过期?初学者Redis命令

的教程说:

Redis can be told that a key should only exist for a certain length of time. This is accomplished with the EXPIRE and TTL commands.

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

This causes the key resource:lock to be deleted in 120 seconds. You can test how long a key will exist with the TTL command. It returns the number of seconds until it will be deleted.

TTL resource:lock => 113 // after 113s TTL resource:lock => -2

The -2 for the TTL of the key means that the key does not exist (anymore). A -1 for the TTL of the key means that it will never expire. Note that if you SET a key, its TTL will be reset.

SET resource:lock "Redis Demo 1"
EXPIRE resource:lock 120
TTL resource:lock => 119
SET resource:lock "Redis Demo 2"
TTL resource:lock => -1

这是我键入到交互终端的代码。我的假设是,第三行应该让我回到-1,永不过期。我从来没有设定过期时间,所以我不知道为什么我会回到-2。

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

回答

0

你有拼写错误:你设置了一个名为loggedIn关键,而试图让logggedIn

的TTL