RESTORE
Syntax
RESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ frequency]
- Available since:
- 2.6.0
- Time complexity:
- O(1) to create the new key and additional O(N*M) to reconstruct the serialized value, where N is the number of Redis objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1*M) where M is small, so simply O(1). However for sorted set values the complexity is O(N*M*log(N)) because inserting values into sorted sets is O(log(N)).
- ACL categories:
-
@keyspace,@write,@slow,@dangerous,
Create a key associated with a value that is obtained by deserializing the
provided serialized value (obtained via DUMP).
If ttl is 0 the key is created without any expire, otherwise the specified
expire time (in milliseconds) is set.
If the ABSTTL modifier was used, ttl should represent an absolute
Unix timestamp (in milliseconds) in which the key will expire.
For eviction purposes, you may use the IDLETIME or FREQ modifiers. See
OBJECT for more information.
RESTORE will return a "Target key name is busy" error when key already
exists unless you use the REPLACE modifier.
RESTORE checks the RDB version and data checksum.
If they don't match an error is returned.
Examples
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 Reply
Simple string reply:OK.
History
- Starting with Redis version 3.0.0: Added the
REPLACEmodifier. - Starting with Redis version 5.0.0: Added the
ABSTTLmodifier. - Starting with Redis version 5.0.0: Added the
IDLETIMEandFREQoptions.