校验迁移后的Redis数据的完整性 Redis数据迁移完成后(即迁移结束),可以通过redisfullcheck工具检查源Redis与目标Redis的数据一致性(源Redis数据为目标Redis数据的子集,即表示数据一致)。 前提条件 数据迁移已完成(即迁移结束)。 准备工作 开通一台ECS云主机,要求能在ECS上访问通源和目标Redis实例。 下载redisfullcheck执行文件(建议:1.4.8版本,示例:redisfullcheck1.4.8.tar.gz),用以接下来校验源和目标Redis数据。 操作步骤 1. 登录ECS云主机,进入redisfullcheck解压目录。 2. 解压redisfullcheck1.4.8.tar.gz(tar xvf redisfullcheck1.4.8.tar.gz),解压后的redisfullcheck即为可执行文件。 3. 命令说明: 参考命令: ./redisfullcheck s {源Redis连接地址} p {源Redis密码} t {目标Redis连接地址} a {目标Redis密码} 实际执行: ./redisfullcheck s sourceaddress p sourcepassword t targetadress a targetpassword 说明:源/目标连接地址为集群时,多个连接地址以英文分号(;)分隔 4. 命令参数(可选)说明: 选项 说明 示例 s 或者 source 源Redis连接地址,如果是集群时,多个地址间以英文分号(;)分隔。 s sourceaddress1;sourceaddress2 p 或者 sourcepassword 源Redis连接密码(不支持指定username)。 p password sourcedbtype 源Redis架构系列;0:标准主备/单机(默认),1:集群,2: aliyun proxy, 3: tencent proxy。 sourcedbtype 0 sourcedbfilterlist 源Redis需要对比的db,1:表示对比所有db(默认),db1;db2:表示对比db1和db2。 sourcedbfilterlist 0;1 t 或者 target 目标Redis连接地址,如果是集群时,多个地址间以英文分号(;)分隔。 t targetaddress1;targetaddress2 a 或者 targetpassword 目标Redis连接密码(不支持指定username)。 a password targetdbtype 目标Redis架构系列;0:标准主备/单机(默认),1:集群,2: aliyun proxy, 3: tencent proxy。 targetdbtype 0 targetdbfilterlist 目标Redis需要对比的db,1:表示对比所有db(默认),db1;db2:表示对比db1和db2。 targetdbfilterlist 1 comparetimes 对比轮数,默认:3,最小:1。 comparetimes 3 m 或者 comparemode 校验模式,1:全量比较,2:只对比value的长度(默认),3:只校验key是否存在,4:全量比较,但是忽略大key的比较。 m 2 q 或者 qps 最大的qps限制(默认:15000)。 q 15000 interval 相邻两轮校验的间隔时间(秒)(默认:5)。 interval 5 loglevel 日志级别,'debug', 'info', 'warn', 'error'(默认:info)。 loglevel info f 或者 filterlist 需要比较的key列表,以竖线分割。 f abc v 或者 version 输出redisfullcheck版本。 v 5. 运行结果 出现以下字样时,表示校验完成。 all finish successfully, …… 校验明细。 sqlite3 result.db.3(3表示对比轮数) select from key; select from field; 说明:表key,field记录了数据冲突情况