Redis主从服务搭建

Redis主从复制原理-全量复制

  1. 从服务网器向master服务器发起全量同步请求

  2. 主服务器master收到全量同步请求,通过bgsave将所有指令生成rdb文件

  3. 主服务器将rdb文件回传给从服务器

  4. 从服务器接收到rdb文件之后,将其加载到内存中

  5. 主服务器在进行bgsave期间,若接收到其他指令,则将其写入指令缓冲区

  6. 将指令缓冲区中写入的命令回传到从服务器进行指令重现操作

Redis主从复制原理-增量复制

增量复制,主服务器每次将其接收到的指令回传到从服务器进行指令重现操作。

1.环境准备

准备三台服务器:一主两从,127.0.0.1(主),127.0.0.2(从),127.0.0.3(从)

2.修改配置文件

1.Master(127.0.0.1):redis.conf

查看代码
# bind:允许外部网络进行访问
bind * -::*                     # like the default, all available interfaces

# port:修改port端口(默认6379,建议修改)
port 6889
    
# daemonize 是否允许后台启动
daemonize yes

# logfile:redis日志文件存储位置
logfile /master.log

# dir rdb文件存储位置
dir ./

# dbfilename 设置rdb文件名称
dbfilename "master.rdb"

# requirepass 设置客户端连接密码
requirepass "1234556"
    
# appendonly 是否开启aof数据存储方式
appendonly yes

# appendfilename 设置aof文件名称
appendfilename "master.aof"
    
# masterauth 主从同步时,主、从指间必须持有相同的密码方可进行数据同步,可以避免未经授权的服务器发起数据同步
masterauth "12345"

2.slave1(127.0.0.2):redis.conf

查看代码
# bind:允许外部网络进行访问
bind * -::*                     # like the default, all available interfaces

# port:修改port端口(默认6379,建议修改)
port 6889
    
# daemonize 是否允许后台启动
daemonize yes

# logfile:redis日志文件存储位置
logfile /master.log

# dir rdb文件存储位置
dir ./

# dbfilename 设置rdb文件名称
dbfilename "slave1.rdb"

# requirepass 设置客户端连接密码
requirepass "1234556"
    
# appendonly 是否开启aof数据存储方式
appendonly yes

# appendfilename 设置aof文件名称
appendfilename "slave1.aof"
    
# masterauth 与主服务器通信是密码
masterauth "12345"

# replicaof 指向哪一个主服务器的ip地址,设置主服务器IP与通信端口
replicaof 127.0.0.1 6889
    
# replia-read-only 设置从服务器是否只读
replica-read-only yes #从节点只读

 3.slave2(127.0.0.3):redis.conf

 

查看代码
# bind:允许外部网络进行访问
bind * -::*                     # like the default, all available interfaces

# port:修改port端口(默认6379,建议修改)
port 6889
    
# daemonize 是否允许后台启动
daemonize yes

# logfile:redis日志文件存储位置
logfile /master.log

# dir rdb文件存储位置
dir ./

# dbfilename 设置rdb文件名称
dbfilename "slave2.rdb"

# requirepass 设置客户端连接密码
requirepass "1234556"
    
# appendonly 是否开启aof数据存储方式
appendonly yes

# appendfilename 设置aof文件名称
appendfilename "slave2.aof"
    
# masterauth 与主服务器通信是密码
masterauth "12345"

# replicaof 指向哪一个主服务器的ip地址,设置主服务器IP与通信端口
replicaof 127.0.0.1 6889
    
# replia-read-only 设置从服务器是否只读
replica-read-only yes #从节点只读

 

posted @ 2022-03-07 15:16  BlogMemory  阅读(122)  评论(0编辑  收藏  举报