【Redis笔记-9】Redis的主从复制

来源:互联网 发布:下载幻灯片软件 编辑:程序博客网 时间:2024/06/15 20:06

0.本文目录

  • 本文目录
  • 开篇明志
  • 建立副本

1.开篇明志

持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障。

如下图所示:

这里写图片描述

2.建立副本

说明:

  • 主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务。

  • 主redis中的数据和从redis上的数据保持实时同步,当主redis写入数据时通过主从复制机制会复制到两个从redis服务上。

  • 只有一个主redis,可以有多个从redis。

  • 主从复制不会阻塞master,在同步数据时,master 可以继续处理client 请求

  • 一个redis可以既是主又是从,如下图:
    这里写图片描述


下面动手模拟建立 主从数据库吧:

  • 主机配置
    这里不需要主机配置, 直接使用现有的Redis数据库作为主机,
    主机默认端口6379, 本地主机ip地址 127.0.0.1

    • 启动主机
./redis-server redis.conf 
  • 从机配置

我的Redis数据库在/usr/local/redis
所以,直接复制redis目录, 将新复制的数据库改名为 redis_slave

主: /usr/local/redis
从: /usr/local/redis_slave

这里写图片描述

  • 修改从机的port地址为6380
port 6380

这里写图片描述

  • 修改从机的redis.conf
slaveof 127.0.0.1 6379

这里写图片描述

  • 清除从机中的持久化文件
rm -rf appendonly.aof dump.rdb
  • 启动从机
    切换到/usr/local/redis_slave/bin/ 目录下:
 ./redis-server redis.conf

主机在从机启动之后的变化:

这里写图片描述

从机启动之后与主机请求变化:

//从机 与 主机 建立连接 Connecting to MASTER 127.0.0.1:6379//主从 非阻塞同步开始MASTER <-> SLAVE sync started

这里写图片描述

原创粉丝点击