RedisShake icon indicating copy to clipboard operation
RedisShake copied to clipboard

rdb_restore_command_behavior = "skip"全量和增量同步时会比rewrite效率更低吗

Open yuwei43 opened this issue 2 years ago • 5 comments

rdb_restore_command_behavior = "skip"全量和增量同步时会比rewrite效率更低吗? 发现如果同步完成之后再重启redis-shake 如果是skip的方式会重写全量同步而且报大量的日志,而且看着同步的效率比不上重写的

yuwei43 avatar Nov 11 '22 07:11 yuwei43

推荐 rewrite。skip 确实会打印大量日志,可以在代码中注释掉对应日志。

suxb201 avatar Nov 11 '22 07:11 suxb201

./redis-shake sync.toml ./filters/swap_db.lua 如果通过这种方式运行,skip会被忽略吗?我启动之后相同key的写入会被覆盖了

swap_db.lua是这样写的,我只把db5的同步过去,但是skip在增量阶段好像会被忽略掉 是我配置的原因么?:

function filter(id, is_base, group, cmd_name, keys, slots, db_id, timestamp_ms) if db_id == 5 then return 0, 0 else return 1, db_id end end

yuwei43 avatar Nov 11 '22 07:11 yuwei43

另外还想问下,每次重启redisShake之后都会重新全量同步一遍么?有类似mongoShake记录oplog同步节点之类的么

yuwei43 avatar Nov 11 '22 08:11 yuwei43

  1. 对的,增量没有 skip
  2. 每次都是全量

suxb201 avatar Nov 11 '22 09:11 suxb201

  1. 对的,增量没有 skip
  2. 每次都是全量

好的,感谢解答~

yuwei43 avatar Nov 11 '22 10:11 yuwei43