繁体   English   中英

redis RESTORE命令无法按预期工作

[英]redis RESTORE command not working as expected

Redis文档说

“ RESTORE检查RDB版本和数据校验和。如果不匹配,则返回错误。”

但是当我还原密钥时,我没有看到任何错误,如下所示。 在开始之前,我记下了两个字符串的转储值,如下所示

\\x00\\x03sat\\x06\\x00a_\\xfd<\\x8eN\\xbf\\xf2 - \\x00\\x03sat\\x06\\x00a_\\xfd<\\x8eN\\xbf\\xf2

dfd- \\x00\\x03dfd\\x06\\x00\\x0b\\xcf@\\x12BBso

然后我做了

set b sat
del b
restore b 0 "\x00\x03dfd\x06\x00\x0b\xcf@\x12BBso"

在上述代码的第一行中, b的值设置为“ sat”,但在第三行中,使用转储值“ dfd”对b进行恢复。 如RESTORE文档中所述,我预计会出现错误。 为什么在这里还原成功?

真正有趣的问题,我从来没有对文档的那部分进行过推理。 我认为检查是:

  1. 检查要还原的数据的RDB版本是否与正在运行的服务器相同(我的意思是RDB格式的版本)
  2. 要恢复的数据具有有效的校验和

因此,不会对存储在最后一个RDB快照上的先前值执行检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM