我目前有一个在云实例上运行的实时 redis 服务器,我想将此 redis 服务器迁移到新的云实例并将该实例用作我的新 redis 服务器。如果是 MySQL,我会从旧服务器导出数据库并将其导入新服务器。我应该如何用redis做到这一点?
PS:我不打算设置复制。我想将 redis 服务器完全迁移到一个新实例。
首先,在服务器 A 上创建一个转储。
A$ redis-cli 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/var/lib/redis/" 127.0.0.1:6379> SAVE OK
这确保dump.rdb完全是最新的,并向我们展示它的存储位置(/var/lib/redis/dump.rdb在这种情况下)。dump.rdb也会定期自动写入磁盘。
dump.rdb
/var/lib/redis/dump.rdb
接下来,将其复制到服务器 B:
A$ scp /var/lib/redis/dump.rdb myuser@B:/tmp/dump.rdb
停止B上的Redis服务器,复制dump.rdb(保证权限和之前一样),然后启动。
B$ sudo service redis-server stop B$ sudo cp /tmp/dump.rdb /var/lib/redis/dump.rdb B$ sudo chown redis: /var/lib/redis/dump.rdb B$ sudo service redis-server start
B 上的 Redis 版本必须大于或等于 A 的版本,否则您可能会遇到兼容性问题。