如何快速迁移redis - RedisShake(RDB方式)

一、参考:

https://tair-opensource.github.io/RedisShake/en/https://tair-opensource.github.io/RedisShake/en/

二、实战

直接来干货吧,不泥带水

1、下载

https://github.com/tair-opensource/RedisShake/releases

2、准备RDB文件

我已腾讯云为例:

3、修改配置文件

注意filter里面不要加注释,否则会报错

Lua 复制代码
# 要迁移的RDB文件
[rdb_reader]
# 本地RDB位置
filepath = "/Users/xxx/remore.rdb"

# 目的Redis
[redis_writer]
cluster = false
address = "IP:端口"
username = ""
password = "密码"
tls = false
rdb_restore_command_behavior = "rewrite"

[filter]
allow_db = [5]

function = """
if DB == 5 then
    target_db = 3
else
    target_db = DB
end
shake.call(target_db, ARGV)
"""

[advanced]
# 工作目录
dir = "data"
# 日志文件
log_file = "shake.log"
# 日志等级
log_level = "info"
# pipeline 并发数,越大写入越快
pipeline_count_limit = 1024

如果原redis和目的redis迁移的db相同,可以不需要加上下面这段配置:

Lua 复制代码
function = """
if DB == 5 then
    target_db = 3
else
    target_db = DB
end
shake.call(target_db, ARGV)
"""

filter只保留这个即可:

Lua 复制代码
[filter]
allow_db = [5]

4、开始迁移

mac可能出现:Apple无法验证"redis-shake"是否包含可能危害Mac安全或泄漏隐私的恶意软件。

你可以使用下面命令解决:

进入对应目录,执行:

bash 复制代码
xattr -cr ./redis-shake

赋权并开始迁移:

bash 复制代码
chmod +r shake.toml
bash 复制代码
./redis-shake shake.toml

没有报错的话就是迁移成功。

相关推荐
用户30745969820711 小时前
Redis 延时队列详解
redis
GBASE12 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
烤代码的吐司君14 小时前
Redis 数据结构 ZSet, BIT, HyperLogLog,Geo 空间数据
redis·后端
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
leeyi3 天前
Checkpoint 机制:Agent 怎么在断电后接着跑
redis·aigc·agent