RESTORE

根据值的序列化表示创建键。

语法

RESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ frequency]

引入版本:2.6.0

复杂度摘要:O(1)

创建与通过反序列化提供的序列化值(通过 DUMP 获得)获得的值关联的键。

如果 ttl 为 0,则创建的键没有任何过期时间,否则设置指定的过期时间(以毫秒为单位)。

如果使用了 ABSTTL 修饰符,则 ttl 应表示键将过期的绝对 Unix时间戳(以毫秒为单位)。

出于驱逐目的,您可以使用 IDLETIME 或 FREQ 修饰符。请参阅 OBJECT 了解更多信息。

当 key 已存在时,RESTORE 将返回“目标键名称正忙”错误,除非您使用 REPLACE 修饰符。

RESTORE 检查RDB 版本和数据校验和。如果它们不匹配,则返回错误。

必需参数

key

要创建的键的名称。

ttl

键的生存时间,以毫秒为单位。 0 表示没有过期时间。对于 ABSTTL,这是以毫秒为单位的绝对 Unix 时间戳。

serialized-value

序列化值,由 DUMP 生成。

可选参数

REPLACE

如果键已存在,请将其替换。

ABSTTL

将 ttl 解释为以毫秒为单位的绝对 Unix 时间戳,而不是相对时间。

IDLETIME seconds

将键的空闲时间(用于 LRU 逐出)设置为这么多秒。

FREQ frequency

将键的访问频率计数器(用于 LFU 逐出)设置为此值。

示例

redis> DEL mykey
0
redis> RESTORE mykey 0 "\n\x17\x17\x00\x00\x00\x12\x00\x00\x00\x03\x00\
                        x00\xc0\x01\x00\x04\xc0\x02\x00\x04\xc0\x03\x00\
                        xff\x04\x00u#<\xc0;.\xe9\xdd"
OK
redis> TYPE mykey
list
redis> LRANGE mykey 0 -1
1) "1"
2) "2"
3) "3"

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
❌主动-主动*
✅ 标准
❌主动-主动*
*仅支持模块按键。

返回值

RESP2

简单字符串回复: OK.

RESP3

简单字符串回复: OK.

资料来源:Redis 官方 RESTORE 文档;中文内容参考 Redis 文档许可。