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

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

相关推荐
青槿吖2 分钟前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
weixin_456321648 分钟前
Java架构设计:Redis AOF持久化深度解析(原理+实战+避坑)
java·开发语言·redis
楼田莉子22 分钟前
MySQL数据库:表及其表相关的操作
数据库·学习·mysql
ZTLJQ24 分钟前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python
百年੭ ᐕ)੭*⁾⁾28 分钟前
DataFrame存入mysql以及读取操作
数据库·mysql·numpy·pandas·ipython
²º²²এ松30 分钟前
vs code连接ubuntu esp项目
linux·数据库·ubuntu
四谎真好看33 分钟前
Redis学习笔记(实战篇3)
redis·笔记·学习·学习笔记
Maverick0642 分钟前
02-SQL执行计划与优化器:Oracle是怎么决定“该怎么查“的
数据库·sql·oracle·ffmpeg
大傻^1 小时前
SpringAI2.0 向量存储生态:Redis、Amazon S3 与 Bedrock Knowledge Base 集成
数据库·人工智能·向量存储·springai