两个Redis实例怎么快速对比哪些数据不一致-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

两个Redis实例怎么快速对比哪些数据不一致

简介: 最近又在翻 黄老师的 《Redis 设计与实现》,想到几道面试题 结合实际生产过程中的一些步骤作为总结 问题 如上图如何能快速的从两个Redis实例怎么快速对比哪些数据不一致? 什么是数据不一致 key不一致 相同key名 在不同实例上的数据类型不一致 key 存在于源 redis 不存在目标...

最近又在翻 黄老师的 《Redis 设计与实现》,想到几道面试题 结合实际生产过程中的一些步骤作为总结

问题

如上图如何能快速的从两个Redis实例怎么快速对比哪些数据不一致?

什么是数据不一致

  • key不一致
  1. 相同key名 在不同实例上的数据类型不一致
  2. key 存在于源 redis 不存在目标 redis
  3. key 存在于 目标redis 不存在源redis
  • value 不一致
  1. string 类型的值,在不同实例上不一致
  2. 其他类型,同key 判断.

工具推荐

redis-full-check 是阿里云Redis&MongoDB团队开源的用于校验2个redis数据是否一致的工具,支持单节点、主从、集群版、以及多种proxy,支持同构以及异构对比,redis的版本支持2.x-5.x。

下载工具

RedisFullCheck

目前仅支持 Linux环境 ,其他环境自行安装Golang 自行交叉编译

运行使用

参数说明

-t 目标库
-s 源库
./redis-full-check -t 10.101.72.137:30661 -s 10.101.72.137:30551

redis-full-check.gif

查看结果

# 三轮比较 则会参数三个 db 文件
sqlite3 result.db.1

> .tables

FINAL_RESULT  field_1       key_1
> select * from key_1;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: