redis的主从复制模式笔记(11)

时间:2023-01-02 04:34:25
一:主从复制 
不光redis有,其他的db也有,比如说mysql,sqlserver
优先: 
     《1》 读写分离,我们洪流被我们redis集群拆分了。【分而治之】
     《2》 一定程度上防止系统整体瘫痪。【主了挂了,但是你的程序还是可以select,读写比例大多在1:10,1:8】
     《3》 热备份,【阿里云,青云】,热备份+冷备份。
缺点:《1》 读延迟。从业务上做点手脚,做一个中间页面,最大程序上不影响用户体验。
二:准备

1. 准备搭建一个 ”一主两从“


   《1》 设置slaveof <masterip> <masterport> 中主的IP地址
   《2》 正确修改本server的地址,比如说master1是6369,slave1是6370 slave11是6371
   《3》大概解析一下console控制台的输出内容
 <1> Slave: Connecting to MASTER  Ping 
<2> Master: Pong
<3> Slave: MASTER <-> SLAVE sync started 
<4>  Slave: Full resync from master: 7915856b7e50e6ad2a097e1dec98d4aa07ae5126:463   
<5>  Master: no
        <6>  Master: 全同步的信息
 2. 记住一点:

    Master 和 Slave 是双向通讯。。。
    测试一主两从的时,复制2个redis/redis-server 等配置文件然后修改端口号,然后在一个机器上就可以模拟出来一主两从的效果

三:实现

1)测试依赖redis-3.2.9版本,解压后建立文件夹jk,然后在jk建立mater1,slave1,slave11文件夹,并把redis.conf,redis-cli,redis-server

文件拷贝到相应的文件夹内,如下图所示

redis的主从复制模式笔记(11)

2)修改端口号,设置slaveof <masterip> <masterport> 中主的IP地址,修改dir路径dir "/usr/servers/redis-3.2.9/jk/master1"

3)以此起来3个服务的redis进程

     [root@localhost master1]#  ./redis-server redis.conf 

     [root@localhost slave1]# ./redis-server ./redis.conf

     [root@localhost slave11]# ./redis-server ./redis.conf

4)依次起来客户端

   [root@localhost master1]# ./redis-cli -p 6369

   [root@localhost slave1]# ./redis-cli -p 6370

   [root@localhost slave11]# ./redis-cli -p 6371

5)查看拓扑关系

127.0.0.1:6369> info

127.0.0.1:6369> info replication

测试图如下

redis的主从复制模式笔记(11)redis的主从复制模式笔记(11)