1. SETEX key seconds value

将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。

如果 key 已经存在, SETEX 命令将覆写旧值。

这个命令类似于以下两个命令:

SET key value
EXPIRE key seconds  # 设置生存时间

不同之处是, SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成,该命令在 Redis 用作缓存时,非常实用。

1.1. 起始版本:

= 2.0.0

1.2. 时间复杂度:

O(1)

1.3. 返回值:

设置成功时返回 OK 。 当 seconds 参数不合法时,返回一个错误。

1.4. 案例

# 当 key 不存在时进行 SETEX,创建一个key
127.0.0.1:6379> SETEX not-exists-key 10 not-exists-key-value
OK
127.0.0.1:6379> get not-exists-key
"not-exists-key-value"
127.0.0.1:6379> ttl not-exists-key  # Key已不存在
(integer) -2
127.0.0.1:6379> get not-exists-key  # 已过期
(nil)

# 当 key 存在时,SETEX 覆盖旧值, 并设置过期时间
127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> ttl key1
(integer) -1
127.0.0.1:6379> setex key1 20 newvalue1
OK
127.0.0.1:6379> get key1
"newvalue1"
127.0.0.1:6379> ttl key1
(integer) 15

# 当 seconds 参数不合法时,返回一个错误信息
127.0.0.1:6379> SETEX key1 adb value1
(error) ERR value is not an integer or out of range
Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""