乐趣区

面试官-两个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

<img src=”http://pigx.vip/redis-full-ch…;/>

查看结果

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

> .tables

FINAL_RESULT  field_1       key_1
> select * from key_1;

项目推荐: Spring Cloud、Spring Security OAuth2 的 RBAC 权限管理系统 欢迎关注

最近时间宽裕。整点花哨的系列,欢迎关注。

退出移动版