Comments (6)
问题一:Redis 特性,scan 不保证数量,游标为 0 才表示 scan 完了
问题二:没明白你意思,如果大量 key 带有过期时间的话,dbsize 确实会不一样:https://tair-opensource.github.io/RedisShake/zh/others/consistent.html
from redisshake.
scan的游标是为0了,但是主要是[问题2]19w的源端数据同步到集群
存在596条没有成功到目标端redis集群 ,这些数据有效期是604800秒
用java代码对比打印日志:过期时间都是在清除(目标端集群)数据后重新用redisshake进行rdb+aof同步
差异的数据是在重新开始同步的前几个小时内小部分数据
contrasKey:>>> RESOURCES:8fe0f2aa9f4536537325d4655e1e1d3a <-----> expire_time:339983
contrasKey:>>> RESOURCES:29657a29bee3580fd612f3c5eca6a8d9 <-----> expire_time:340314
contrasKey:>>> RESOURCES:7b961a48a2a14b852ef348e3a7331cbe <-----> expire_time:339627
contrasKey:>>> RESOURCES:286e0973863608030e7e3bae63873e2c <-----> expire_time:339829
目标端的集群还未开始正式有服务接入,只是在盘点数据发现差异
from redisshake.
过期时间都是在清除(目标端集群)数据后重新用redisshake进行rdb+aof同步
没明白意思
from redisshake.
简单过程背景说就是:
- 在05-24 14:00 清除目标库(集群)
- 并RedisShake重新开始跑生产的单机-->目标集群
- [sync_reader] sync_rdb = true sync_aof = true
- 周一过来观察数据发现差异条数问题,写了jar对比key
- 发现596条key没有在集群中,而且丢失的key都是在 05-24 09:00 ~ 05-24 : 14:00左右key
from redisshake.
开发和测试由于业务量问题 key 并没有存在差异(运维写py脚本通过keyspace对比)
就是看下 在哪些使用场景会导致key丢失
注:目标集群库并没有业务使用,丢失的key也没有哪些条件下会删除
from redisshake.
@52hzbobo 我也想不明白,需要你自己想办法查一查了。几个怀疑方向你可以看一下:
- 目的端触发了 evict
- 数据是周一停止 shake 同步后才刚写入的
- 如果 shake 没停,一直在写入,本身同步有延迟可能数据是刚写入源端,还没同步至目的端
from redisshake.
Related Issues (20)
- 使用redis-shake做增量数据同步的时候,有很多warn的信息,我不确认会不会因为这些问题导致我数据不一致 HOT 2
- 同步数据较慢 HOT 3
- 通过nat转换进行同步报 i/o timeout HOT 1
- scan_reader模式不能直接同步增量? HOT 3
- can_reader模式同步过程中报:ERR unexpected EOF HOT 1
- redis6同步支持 HOT 1
- 4.05版本使用sync_reader模式连接阿里云Redis集群版直连地址报错 HOT 15
- 最新的4.10版本,设置了scan = false不起作用 HOT 3
- ERR NOAUTH Authentication required [redis_writer] sentinel=true HOT 3
- ERR The ID specified in XADD is equal or smaller than the target stream top item HOT 8
- sync_rdb设为false之后依然拉取全量rdb文件发给slave HOT 4
- 使用codis->的时候少key HOT 1
- scan_reader模式下,如何降低对源端的压力 HOT 3
- scan_reader模式下,无法同步被删除的key HOT 1
- SCAN_READER模式下,设置prefer_replica = true报错
- 同步过程中经常遇到 “ERR write tcp xxxx>xxxx : write:broken pipe” HOT 1
- 最新的4.10有没有过滤功能? HOT 2
- 在主从架构中,如果使用了prefer replica会产生bug
- 请问如何配置ssh方式连接redis HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from redisshake.