初学者 Redis 命令
Beginner Redis Command
我正在浏览 Redis 上的 tutorial 并遇到了一个没有意义的命令。从我下面的代码中,我得到了一个肯定仍然存在的密钥的 -2
生存时间 return 值。我的代码不应该 return 编辑 -1
永不过期吗?
教程说:
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
这是我在交互式终端中输入的代码。我的假设是第 3 行应该返回 -1,表示永不过期。我从来没有设置过期时间,所以我不知道为什么我会返回 -2。
> SET loggedIn "True"
OK
> TTL logggedIn
(integer) -2
> GET loggedIn
"True"
您有一个拼写错误:您在尝试获取 logggedIn
的 TTL 时设置了一个名为 loggedIn
的密钥
我正在浏览 Redis 上的 tutorial 并遇到了一个没有意义的命令。从我下面的代码中,我得到了一个肯定仍然存在的密钥的 -2
生存时间 return 值。我的代码不应该 return 编辑 -1
永不过期吗?
教程说:
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
这是我在交互式终端中输入的代码。我的假设是第 3 行应该返回 -1,表示永不过期。我从来没有设置过期时间,所以我不知道为什么我会返回 -2。
> SET loggedIn "True"
OK
> TTL logggedIn
(integer) -2
> GET loggedIn
"True"
您有一个拼写错误:您在尝试获取 logggedIn
loggedIn
的密钥