栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用redis的DUMP和RESTORE(离线)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用redis的DUMP和RESTORE(离线)?

实际上,转储/还原命令不是为从命令行使用而设计的,因为序列化格式是二进制的(与用于RDB转储的格式相同)。由于外壳程序倾向于解释那些字符(即使使用“可打印”格式时),这也带来了不便。

这是“可打印”格式:

$ redis-cli lpush test 1 2 3 4 5(integer) 5$ redis-cli dump test"nx15x15x00x00x00x12x00x00x00x05x00x00xf6x02xf5x02xf4x02xf3x02xf2xffx06x00x1cx8axdax0e}xcbxe1."

“可打印”格式不能用作-x选项的输入,该选项确实需要实际数据。这是redis-cli的误导行为。

但是,有一种简单的方法来获取原始格式:

$ redis-cli --raw dump test | hexdump -C00000000  0a 15 15 00 00 00 12 00  00 00 05 00 00 f6 02 f5  |................|00000010  02 f4 02 f3 02 f2 ff 06  00 1c 8a da 0e 7d cb e1  |.............}..|00000020  2e 0a |..|

现在,由于最后一个字符是错误的,因此无法直接通过管道将-raw dump的结果传递给-x还原。比较–raw和printable转储的输出。您会注意到–
raw选项在末尾添加了一个额外的 n。原始选项不是100%原始;-)

必须先删除此多余的字符,然后才能通过-x选项处理数据。最后,在恢复中通过管道传输转储输出的正确命令(在GNU / Linux系统上)是:

$ redis-cli --raw dump test | head -c-1 | redis-cli -x restore test1 0OK

不好看 我希望大多数人会依靠perl / python / ruby​​脚本而不是shell来执行此类任务。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382458.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号