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

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

相关推荐
山岚的运维笔记33 分钟前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里1 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科1 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦2 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
indexsunny2 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
晚霞的不甘3 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位3 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全
海奥华23 小时前
mysql索引
数据库·mysql
2601_949593654 小时前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__4 小时前
mysql新老项目版本选择
数据库·mysql