Redis在Ubuntu上的数据迁移步骤
一、迁移方式速览与选择
二、方法一 RDB 文件拷贝(停机最短)
redis-cliauth <yourpassword>config get dir(常见为 /var/lib/redis)save(或业务低峰期等待自动快照)sudo cp /var/lib/redis/dump.rdb /home/backup/dump.rdbscp /home/backup/dump.rdb <user>@<target-ip>:/var/lib/redis/redis-cli config get dirsudo chown redis:redis /var/lib/redis/dump.rdbsudo systemctl restart redis-serverredis-cli dbsize、keys '*'(必要时用 SCAN 分批核对)三、方法二 主从复制(在线平滑迁移)
sudo nano /etc/redis/redis.confbind 0.0.0.0save 60 1replicaof <master-ip> 6379masterauth <yourpassword>sudo systemctl restart redis-serverredis-cli -h <slave-ip> info replication,应见 master_link_status:up四、方法三 工具化迁移(redis-dump 或 RedisShake)
sudo apt-get install ruby ruby-dev gcc && sudo gem install redis-dumpredis-dump -u :<password>@<src-ip>:6379 backup.jsoncat backup.json | redis-load -u :<password>@<dst-ip>:6379git clone https://github.com/alibaba/RedisShake && cd RedisShake && sh build.shshake.toml(示例为单机到单机)
[sync_reader] cluster=false address="<src-ip>:6379" password="<src-pass>" sync_rdb=true sync_aof=true[redis_writer] cluster=false address="<dst-ip>:6379" password="<dst-pass>"nohup ./redis-shake shake.toml &五、关键注意事项与验证清单
config get dir,RDB 默认 /var/lib/redis/dump.rdb;如启用 AOF,需同时迁移 appendonly.aof 并保持一致配置。dbsize、抽样 SCAN/全量 KEYS *、关键业务键、TTL;必要时用 redis-check-rdb 校验 RDB 完整性。