如何快速迁移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

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

相关推荐
踢球的打工仔1 小时前
mysql外键
数据库·mysql
爬山算法1 小时前
Redis(163)如何使用Redis实现计数器?
网络·数据库·redis
NineData1 小时前
NineData云原生智能数据管理平台新功能发布|2025年11月版
数据库·代码规范
TDengine (老段)1 小时前
TDengine 统计函数 VAR_SAMP 用户手册
大数据·数据库·物联网·概率论·时序数据库·tdengine·涛思数据
卿雪1 小时前
MySQL【数据库的三大范式】:1NF 原子、2NF 完全依赖、3NF 不可传递
数据库·mysql
u***32431 小时前
redis连接服务
数据库·redis·bootstrap
少许极端2 小时前
Redis入门指南:从零到分布式缓存-string类型
redis·分布式·缓存
wuletaotao2 小时前
Windows 下 Redis 使用完整教程
数据库·windows·redis
RestCloud2 小时前
神州通用数据库的 ETL 集成方案:兼容性与性能实战
数据库·数据仓库·etl·数据处理·数据集成·数据传输·神州通用