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 文档许可。