码迷,mamicode.com
首页 > 其他好文 > 详细

Redis(五)——主从做读写分离原理与优化

时间:2020-01-11 18:35:29      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:启动   png   流量   size   conf   bsp   redis   不能   关联   

一、什么是主从复制

一主一从,一主多从

做读写分离(可以设置主写从读),做数据副本,扩展数据性能
一个maskter可以有多个slave,一个slave只能有一个master
数据流向是单向的,从master到slave

二、复制到配置

启动两个服务端:

示例:在阿里云服务器上创建两个redis服务端配置文件(注意配置文件中的端口不同),使用不同的配置文件启动,用两个客户端分别连接。

一个服务端配置文件是:redis_6379.conf,另一个服务端配置文件是:redis_6380.conf

启动两个服务端命令:redis-server redis_6379.conf        redis-server redis_6380.conf          #分开执行

查看是否开启两个服务端:ps -ef|grep redis-server

技术图片

 

两个客户端连接:(分别通过不同端口连接)

技术图片

 

技术图片

 

做主从联系有两种方式

1.slave命令

6380是从,6379是主
在6380客户端执行下面命令
slaveof 127.0.0.1 6379 #异步

#如果想取消复制,主从库就没关联了,但是之前的数据不会清除 slaveof no one

在从库上面执行slave

技术图片

 

在主库上设置键值

技术图片

 

2.配置文件方式(在从库的配置文件redis_6380.conf中加入这两句话)

slaveof ip port #配置主节点ip和端口
slave-read-only yes #从节点只读,因为可读可写,数据会乱

技术图片

 

关掉之前的redis服务端连接,重新启动

重新启动之后,在客户端不用再执行slave命令

在主库直接set键值

技术图片

 

在从库就能直接获取,但是从库不能写入数据,只能读取

技术图片

 

三、复制常见问题

1.读写分离

读流量分摊到从节点

可能遇到问题:复制数据延迟,读到过期数据,从节点故障

2.主从配置不一致

maxmemory不一致:丢失数据

数据结构优化参数:主节点做了优化,从节点没有设置优化,会出现一些问题

3.规避全量复制

第一次全量复制,不可避免:小主节点,低峰(夜间)

节点运行id不匹配:主节点重启(运行id变化)

复制挤压缓冲区不足:增大复制缓冲区大小,rel_backlog_size

4.规避复制风暴

单主节点复制风暴,主节点重启,所有从节点复制

 

。。。

Redis(五)——主从做读写分离原理与优化

标签:启动   png   流量   size   conf   bsp   redis   不能   关联   

原文地址:https://www.cnblogs.com/wangcuican/p/12180380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!