Redis多实例和主从复制03

主从模式

redis三种集群模式

* 主从模式

* Sentinel模式

* Cluster模式

主从模式介绍

主从模式是三种模式中最简单的,在主从复制中,数据库分为两类:主数据库(master)和从数据库(slave)。

特点

主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据'同步'给从数据库
从数据库一般都是'只读'的,并且接收主数据库同步过来的数据
一个master可以拥有多个slave,但是一个slave只能对应'一个'master
slave挂了不影响其他slave的读和master的读和写,'重新启动后会将数据从master同步过来'(无论是rdb模式还是aof模式)
master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务
master挂了以后,'不会'在slave节点中重新选一个master

缺点:
从上面可以看出,master节点在主从模式中唯一,若master挂掉,则redis无法对外提供写服务

工作原理

当slave启动后,主动向master发送SYNC命令。(#每秒一次)
master接收到SYNC命令后在后台保存快照(RDB持久化)和缓存保存快照这段时间的命令,然后将保存的快照文件和缓存的命令发送给slave。
slave接收到快照文件和命令后加载快照文件和缓存的执行命令。

redis搭建

1.下载软件包

[root@db01 ~]# rz redis-3.2.12.tar.gz
或者
[root@db01 ~]# wget http://download.redis.io/releases/redis-3.2.12.tar.gz

2.安装依赖 (选)

[root@db01 ~]# yum install -y gcc gcc-c++

3.解压

[root@db01 ~]# tar xf redis-3.2.12.tar.gz -C /usr/local/
[root@db01 ~]# ln -s /usr/local/redis-3.2.12 /usr/local/redis

4.编译安装

[root@db01 ~]# cd /usr/local/redis && make && make install

5.编辑配置文件

#创建reids配置文件目录(位置随意)
[root@db01 redis]# mkdir /service/redis/6301 -p
#编写配置文件
[root@db01 redis]# vim /service/redis/6301/redis.conf
#监听地址(注意顺序)
bind 172.16.1.51 127.0.0.1
#端口
port 6301
#后台启动
daemonize yes
#pid文件位置
pidfile /service/redis/6301/redis_6301.pid
#日志级别
loglevel notice
#指定日志文件
logfile "/service/redis/6301/redis_6301.log"
#持久化数据文件存储位置
dir /service/redis/6301
#rdb持久化数据文件名
dbfilename dump.rdb
#Redis持久化(不能配置较短的时间)
save 900 1
save 300 10
save 60 10000

#Redis密码
requirepass 123
#主从复制中主库密码
masterauth 123

6.启动redis

指定配置文件启动
[root@db02 ~]# redis-server /service/redis/6301/redis.conf

7.连接redis

[root@db01 redis]# redis-cli -a 123 -p 6301

8.从库执行

[root@db02 ~]# redis-cli -a 123 -p 6302 SLAVEOF 172.16.1.52 6302
[root@db03 ~]# redis-cli -a 123 -p 6303 SLAVEOF 172.16.1.52 6302

#可以在配置文件中配置
replicaof 172.16.1.52 6302

注意

1.关闭防火墙
[root@db02 ~]# systemctl stop firewalld.service
2.关闭主从复制
127.0.0.1:6304> slaveof no one

原文地址:https://www.cnblogs.com/syy1757528181/p/13462218.html