Redis DUMP 命令将指定的 key 序列化,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。
命令格式
DUMP key
可用版本:>=2.6.0
时间复杂度:查找指定键的复杂度为 O(1),对键进行序列化的复杂度为 O(N*M),其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。
如果序列化的对象是比较小的字符串,那么复杂度为 O(1)。
序列化生成的值有以下几个特点:
- 它带有 64 位的校验和,用于检测错误,RESTORE 命令在进行反序列化之前会先检查校验和。
- 值的编码格式和 RDB 文件保持一致。
- RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。
序列化的值不包含过期时间信息。
命令返回值
如果 key 存在,返回序列化的值。
如果 key 不存在,则返回批量的 nil 回复。
示例
redis> SET Yume Kana
OK
redis> DUMP Yume
"\x00\x04Kana\a\x00\x83\xb3\xa9\x06G\x9f$a"
redis> DUMP not-exists-key
(nil)
redis>