Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-restore.html

Redis RESTORE 命令

Redis 键(Keys) Redis 键(Keys)


RESTORE命令将反序列化指定的序列化值,并将它和指定的key关联。

命令格式

RESTORE key ttl serialized-value [REPLACE]

可用版本:>=2.6.0

时间复杂度:查找指定key的复杂度为O(1) 。对key进行反序列化的复杂度为O(n*m),其中n是构成key的Redis对象的数量,而m则是这些对象的平均大小。有序集合(sorted set)的反序列化复杂度为O(n*m*log(n)),因为有序集合每次插入的复杂度为O(log(n))。如果反序列化的对象是比较小的字符串,那么复杂度为 O(1)。

RESTORE命令在执行反序列化之前,会先对序列化值的RDB版本和数据进行校验检查,如果RDB版本不相同或者数据不完整的话,那么RESTORE会拒绝进行反序列化,并返回一个错误。

命令参数

  • ttl:指定key的生存时间,该参数以毫秒为单位,0则表示不设置生存时间。
  • serialized-value:指定key的序列化值。
  • REPLACE:如果指定key已经存在,并且指定了REPLACE选项,那么使用反序列化得出的值来代替key原有的值;相反地,如果key已经存在,但是没有指定REPLACE选项,那么命令返回一个错误。

在3.0版本及之后,当指定key存在时,如果没有REPLACE选项,RESTORE会返回"Target key name is busy"信息。

命令返回值

如果反序列化成功那么返回OK,否则返回一个错误。

示例

redis> RESTORE mykey 0 "\x00\x0bHello World\a\x00;Z\xc1\x0f\x96\x18\x0f\xca"
OK
redis> TYPE mykey
string
redis> GET mykey
"Hello World"
Redis OBJECT 命令允许从内部查看指定 key 的 Redis 对象信息。它通常用在调试,或者了解相关 key 是否使用特殊编码的 ...
SORT命令返回或保存指定列表、集合、有序集合key中经过排序的元素。 ...
Redis GET 命令返回指定 key 所关联的字符串值。如果指定的 key 不存在时,返回特殊值 nil。此外,如果指定的 key 存储 ...
TYPE 命令返回指定 key 所储存的值的类型。 ...
Redis COMMAND 命令用于返回所有的 Redis 命令的详细信息,并以数组形式展示。 ...