Creates a key from the serialized representation of a value.
RESTORE
key ttl
serialized-value [REPLACE
]
[ABSTTL
]
[IDLETIME
seconds]
[FREQ
frequency]
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.
Simple string
reply: OK
.
O(1) to create the new key and additional O(NM) to reconstruct the serialized value, where N is the number of objects composing the value and M their average size. For small string values the time complexity is thus O(1)+O(1M) where M is small, so simply O(1). However for sorted set values the complexity is O(NMlog(N)) because inserting values into sorted sets is O(log(N)).
@dangerous @keyspace @slow @write
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"
REPLACE
modifier.ABSTTL
modifier.IDLETIME
and FREQ
options.COPY, DEL, DUMP, EXISTS, EXPIRE, EXPIREAT, EXPIRETIME, KEYS, MIGRATE, MOVE, OBJECT, OBJECT ENCODING, OBJECT FREQ, OBJECT HELP, OBJECT IDLETIME, OBJECT REFCOUNT, PERSIST, PEXPIRE, PEXPIREAT, PEXPIRETIME, PTTL, RANDOMKEY, RENAME, RENAMENX, SCAN, SORT, SORT_RO, TOUCH, TTL, TYPE, UNLINK, WAIT, WAITAOF.