redis 数据迁移

1. rdb数据备份恢复方法

redis 127.0.0.1:6379> SAVE

redis-cli -h 127.0.0.1 -p 6379 -a pwd bgsave
该命令将在 redis 安装目录中创建dump.rdb文件。

查找dump.rdb文件位置
redis 127.0.0.1:6379> CONFIG GET dir

  1. “dir”
  2. “/usr/local/redis/bin”
    以上命令输出的 redis 安装目录为 /usr/local/redis/bin。
    创建 redis 备份文件也可用命令 BGSAVE,该命令在后台执行。
    127.0.0.1:6379> BGSAVE
    Background saving started

2. AOF数据备份恢复方法

在配置文件中打开[appendonly yes]。AOF刷新日志到disk的规则:

  • appendfsync always # 每次有写操作都进行同步,非常慢,非常安全。
  • appendfsync everysec # 对写操作进行累积,每秒同步一次
    官方的建议的everysec,安全,就是速度不够快,如果是机器出现问题可能会丢失1秒的数据。

也可手动执行bgrewriteaof进行AOF备份:
redis-cli -h 127.0.0.1 -p 6379 -a pwd bgrewriteaof

迁移数据恢复
迁移到另外一台恢复数据,需先检查配置文件,将按照以下优先级恢复数据到内存:

  • 如果只配置AOF,重启时加载AOF文件恢复数据;
  • 如果同时 配置RBD和AOF,启动是只加载AOF文件恢复数据;
  • 如果只配置RBD,启动是加载dump文件恢复数据;

dump.rdb或AOF文件迁移到另外一台恢复数据
恢复数据,只需将备份文件 (dump.rdb或者AOF文件) 移动到 redis 安装目录并启动服务即可。

3. 挂redis从库复制数据方法

Redis提供复制(replication)功能可以自动实现同步的过程。配置方法:

  • 配置文件:slave的配置文件中加入slaveof ip port,主数据库无需配置.
  • 命令行参数: 启动redis-server时,用命令行参数 slaveof ip port

redis-server –port 6380 –slaveof 127.0.0.1 6379
通过命令SLAVEOF master-ip master-port
redis>SLAVEOF 127.0.0.1 6379
SLAVEOF NO ONE可以是当前数据库停止接收其他数据库的同步,转成主Redis数据库,程序连接地址都改为新的redis库IP地址和端口。

建议:采用第三个方法迁移数据。

相关推荐