RESTORE

用法
RESTORE key ttl serialized-value [ REPLACE ] [ ABSTTL ] [ IDLETIME 秒 ] [ FREQ 频率 ]
复杂度
创建新键的复杂度为 O(1),重建序列化值的额外复杂度为 O(N*M),其中 N 是构成值的对象数量,M 是它们的平均大小。对于小型字符串值,时间复杂度因此为 O(1)+O(1*M),其中 M 较小,所以简单地为 O(1)。然而,对于有序集合值,复杂度为 O(N*M*log(N)),因为将值插入有序集合的复杂度为 O(log(N))。
自从
2.6.0
ACL 分类
@keyspace, @dangerous, @write, @slow

创建一个与值关联的键,该值通过反序列化提供的序列化值(通过 DUMP 命令获取)获得。

如果 ttl 为 0,则创建的键永不 expires;否则,将设置指定的过期时间(以毫秒为单位)。

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

出于逐出目的,您可以使用 IDLETIMEFREQ 修饰符。有关更多信息,请参阅 OBJECT

key 已存在时,!RESTORE 将返回“Target key name is busy”错误,除非您使用 REPLACE 修饰符。

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

示例

127.0.0.1:6379> DEL mykey
(integer) 0
127.0.0.1:6379> 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
127.0.0.1:6379> TYPE mykey
list
127.0.0.1:6379> LRANGE mykey 0 -1
1) "1"
2) "2"
3) "3"

RESP2/RESP3 回复

简单字符串回复OK

历史

版本 变更
3.0.0

添加了 REPLACE 修饰符。

5.0.0

添加了 ABSTTL 修饰符。

5.0.0

添加了 IDLETIMEFREQ 选项。