• 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地址和端口。

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

  • 相关阅读:
    RocketMQ源码 — 十、 RocketMQ顺序消息
    RocketMQ源码 — 九、 RocketMQ延时消息
    RocketMQ源码 — 八、 RocketMQ消息重试
    HDU3439 Sequence
    Cipolla算法学习小记
    BZOJ2286: [Sdoi2011]消耗战
    BZOJ4873 寿司餐厅
    BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径
    BZOJ1123 [POI2008]BLO
    BZOJ3996 TJOI2015线性代数
  • 原文地址:https://www.cnblogs.com/bsszds930/p/13049387.html
Copyright © 2020-2023  润新知