恢复
语法
RESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ frequency]
- 从以下位置开始可用:
- 2.6.0
- 时间复杂度:
- O(1) 创建新键,附加 O(N*M) 重建序列化值,其中 N 是组成该值的 Redis 对象的数量,M 是它们的平均大小。对于较小的字符串值,时间复杂度为 O(1)+O(1*M),其中 M 较小,因此只需 O(1)。但是,对于排序集值,复杂度为 O(N*M*log(N)),因为将值插入到排序集中是 O(log(N))。
- ACL 类别:
-
@keyspace
,@write
,@slow
,@dangerous
,
创建与值关联的键,该值是通过反序列化
提供的序列化值(通过DUMP
).
如果ttl
为 0 时,则创建密钥时没有任何过期时间,否则指定的
expire time (in milliseconds) (过期时间 (以毫秒为单位)) 。
如果ABSTTL
修饰符,ttl
应表示密钥将过期的绝对 Unix 时间戳(以毫秒为单位)。
出于驱逐目的,您可以使用IDLETIME
或FREQ
修饰 符。看OBJECT
了解更多信息。
RESTORE
将返回 “Target key name is busy” 错误key
已经
存在,除非您使用REPLACE
修饰语。
RESTORE
检查 RDB 版本和数据校验和。
如果它们不匹配,则返回错误。
例子
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"
RESP2/RESP3 回复
简单的字符串回复:OK
.历史
- 从 Redis 版本 3.0.0 开始:添加了
REPLACE
修饰语。 - 从 Redis 版本 5.0.0 开始:添加了
ABSTTL
修饰语。 - 从 Redis 版本 5.0.0 开始:添加了
IDLETIME
和FREQ
选项。