Redis之主从复制

一:简介#

一:产生背景#

redis是一个高可用的数据库,可以进行高速的读写操作,但是单机redis容易出现单点故障灯问题

一:虽然redis可以进行数据持久化等操作避免数据丢失,但是物理故障 例如磁盘损坏等 数据还是会丢失

二:当只有单台redis服务器的时候 大量读写操作 对CPU,内存,磁盘容量很容易达到瓶颈

二:解决办法#

针对上述问题:可以通过redis复制功能,通过一主(master)多从(slave),或者多主多从(集群),通过多台服务器进行redis服务搭建,提供高可用的redis服务

三:主从复制介绍#

redis主从复制模型中,分为主服务器(master)从服务器(slave)两种角色,一台主服务器可以有多台从服务器,一台从服务器也可以有自己的从服务器,主服务器可以进行读写操作,而从服务器只进行读取操作(可以通过修改配置文件 让从服务器具有写的功能)同时会同步主服务器写入的数据,如果主服务器宕机,从服务区可以充当主服务器

四:特点#

 (1):一个主服务器可以有多个从服务器

 (2):一个从服务器可以有自己从服务器

 (3):主服务器挂了可以让从服务器充当主服务器

 (4):使用异步复制

 (5):异步复制不会阻塞主服务器

   (6):可以让主服务器免去持久化操作 让从服务器进行持久化操作

   (7):通过主从实现读写分离

五:主从复制原理#

redis主从复制方式分为两种方式(两个阶段)

(1)全同步:当主从复制开始的时候 会进行全同步数据

(2)部分同步:当全同步结束会进行部分同步

PS:无论何时 从服务器都可以在任意时刻进行全同步

(1):从服务器会向主服务器发送SYNC请求

(2):接收到SYNC的主服务器会调用BGSAVE命令,创建一个RDB文件,并使用缓冲区记录下来执行的所有命令

(3):当主服务器BGSAVE命令执行完毕,会向从服务器发送RDB文件,而从服务器则会接收并且载入这个文件

(4):从服务器执行RDB文件 然后完成数据初始化同步

六:命令传播#

在主从服务器完成同步之后,主服务器每执行一个写命令,它都会将被执行的写命令发送给从服务器执行,这个操作被称为“命令传播”(command propagate)。

 二:redis主从复制配置#

 在安装redis时就进行了多实例的配置

复制代码
准备两个或两个以上redis实例
6380/redis-server
6380/redis.conf
6381/redis-server
6381/redis.conf
6382/redis-server
6382/redis.conf
复制代码

配置文件示例:

复制代码
bind 127.0.0.1 10.0.0.186

port 6380

daemonize yes

pidfile /var/run/redis_6380.pid

loglevel notice

logfile "/var/log/redis_6380.log"

dbfilename dump.rdb

dir /application/redis/6380/

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

slowlog-log-slower-than 10000

slowlog-max-len 128

protected-mode no
复制代码

启动:

./6380/redis-server ./6380/redis.conf

./6381/redis-server ./6381/redis.conf

./6382/redis-server ./6382/redis.conf

复制环境说明

主节点:6380

从节点:6381、6382

开启主从(在6381 6382实例中执行)

redis-cli -p 6381/6382

SLAVEOF 127.0.0.1 6380

 

posted @   SR丶  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
CONTENTS