美文网首页
redis主从复制

redis主从复制

作者: 码农小钰 | 来源:发表于2020-06-15 15:05 被阅读0次

redis的主从复制就是主机数据更新后根据配置和策略自动同步到备机的master/slaver机制,master以写为主,slave以读为主.(主从复制中通常是一主二仆,一主一仆或者说是当前从机可以是下一个从机的主机)


image.png

主从复制的配置(一般是配从不配主):
1.复制多个redis.conf的配置文件,(我的是redis6380.conf,redis6381.conf)然后再使用vim对从机的配置文件进行修改

#两个从机的配置文件修改三个地方
#修改生成.rdb的文件名
 The filename where to dump the DB
dbfilename "dump6380.rdb"
#修改日志文件名字
 Specify the log file name. Also the empty string can be used to force
 Redis to log on the standard output. Note that if you use standard
 output for logging but daemonize, logs will be sent to /dev/null
logfile "6380.log"
#修改端口号
 Accept connections on the specified port, default is 6379.
If port 0 is specified Redis will not listen on a TCP socket.
port 6380

配置完之后启动redis

#端口6379的redis
redis-server redis.conf
redis-cli -p 6379
#端口6380和6381qid启动和6379的一样只是端口号不一样
redis-server redis6380.conf
redis-cli -p 6380

启动完之后呢查看redis的情况

info replication #命令查看redis主从机情况

通过slaveof ip 端口 来进行主机对从机配置,执行完slaveof 命令后就能看到从机的主机信息

slaveof ip 6379
image.png image.png
这里要注意的是从机复制是从头到尾进行复制而不是从接入主机开始复制某个key.
还有一种情况是如果主机down调后可以在从机执行slaveof no one 使当前数据库停止与其他数据库同步转成主数据库.
image.png
主从复制的原理:salve启动后成功连接到master后会发送一个sync命令,master接到命令后启动后台的存盘进程,同时收集所有接收到用于修改数据集的命令在后台进程执行完毕后,master将传送整个数据文件到slave,以完成一次完全同步.
全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加重到内存.
增量复制:master继续将新的所有收集到的修改命令依次传给slave,完成同步
但是只要是重新连接master,依次完全同步(全量复制)将被自动执行.
注意的是:如果主机故障没有执行slaveof no one 命令从机依旧是从机,而当主机重启后从机依旧跟随主机

二. redis的哨兵模式:就是slaveof no one 的自动版,在后台监控主机是否故障,如果故障,根据投票数自动将从库转成主库.
1.把/root/opt/redis-4.0.11/文件中的sentinel.conf复制一份出来或者直接创建sentinel.conf文件.再使用vim直接插入以下内容

#其中数字1表示主机挂掉后slave投票超过1的得票数多的成为主机
sentinel monitor  (被监控的数据库名字)   127.0.0.1 6379 1
image.png
然后启动哨兵: redis-sentinel redis-sentinel.conf
正常主从演示:原有的master挂了
image.png
投票新选
image.png
主从重新开工,使用info replication查看主从机情况
image.png
原有的主机回来后,也不会和新的主机冲突
image.png
缺点就是由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

相关文章

  • Redis|主从复制与哨兵机制

    1. Redis主从复制 1.1 Redis主从复制 Redis主从复制主要有两个角色,主机(master)对外提...

  • 【Redis学习笔记】13 Redis 主从复制

    1. Redis 主从复制特性 2. Redis 主从复制流程 3. Redis 主从复制操作 IP地址端口角色1...

  • Redis主从复制

    Redis主从复制 一.主从复制介绍 1.Redis复制功能介绍 1)Redis 使用异步复制。从 Redis2....

  • Redis的高可用

    Redis主从复制 什么是主从复制 Redis有三种集群方案,主从复制,哨兵,cluster集群,主从复制是指将一...

  • redis(二)

    Redis用户认证 禁用危险命令 主从复制的过程 主从复制的部署 哨兵 Redis哨兵+主从+密码 Redis哨兵...

  • Redis Sentinel 介绍与部署

    Redis Sentinel 介绍与部署 1. Sentinel介绍 1.1 主从复制的问题 Redis主从复制可...

  • 高可用的redis服务搭建

    Redis Sentinel 介绍与部署 1. Sentinel介绍 1.1 主从复制的问题 Redis主从复制可...

  • redis主从设置

    redis主从复制 Redis读取写入的速度都特别快,但是也会产生读压力特别大的场景。 Redis支持主从复制,主...

  • redis的三种集群方式

    redis的三种集群方式 redis有三种集群方式:主从复制,哨兵模式和集群。 1.主从复制 主从复制原理: 从服...

  • Redis哨兵集群

    redis-sentinel主从复制高可用 Redis-Sentinel Redis-Sentinel是redis...

网友评论

      本文标题:redis主从复制

      本文链接:https://www.haomeiwen.com/subject/uxgcxktx.html