• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

Redis数据迁移的三个方法

Linux学习 ppabc 2年前 (2017-01-05) 1921次浏览

在项目运维中,会遇到 Redis 数据迁移的情况,那种方法更方便快捷呢?查阅了一些文档,总结如下:

20170105173810

1. rdb 数据备份恢复方法
redis 127.0.0.1:6379> SAVE
OK
或者
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”
以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。
bgsave
创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
127.0.0.1:6379> BGSAVE
Background saving started

2. AOF 数据备份恢复方法
另一种持久化方式 AOF,在配置文件中打开[appendonly yes]。
AOF 刷新日志到 disk 的规则:
appendfsync always #always 表示每次有写操作都进行同步,非常慢,非常安全。
appendfsync everysec #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)功能可以自动实现同步的过程。
配置方法
通过配置文件 从数据库的配置文件中加入 slaveof master-ip master-port,主数据库无需配置
通过命令行参数 启动 redis-server 的时候,使用命令行参数–slaveof master-ip master 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 地址和端口。

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


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Redis 数据迁移的三个方法
喜欢 (0)