redis主从架构锁失效问题(主从)

一、准备1、修改pidfile和端口2、关闭RDB持久化修改持久化文件的保存位置3、启动Redisredis-server/etc/redis.conf4、使用客户端连接Redisredis-cli二、主从复制(读写分离)redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.可

大家好,又见面了,我是你们的朋友全栈君。

一、准备
1、修改pidfile 和端口
这里写图片描述

这里写图片描述

2、关闭RDB持久化修改持久化文件的保存位置
这里写图片描述

这里写图片描述

3、启动Redis

redis-server /etc/redis.conf

4、使用客户端连接Redis

redis-cli

二、主从复制(读写分离)
redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.可以避免redis单点故障,构建读写分离架构,满足读多写少的应用场景.
1、主从复制原理
这里写图片描述

①slave发起请求和master建立连接,master验证通过后即可建立连接。
②slave发送同步sync的命令,这时主库会新起一个子进程,以快照的方式把数据导入到rdb文件中,并传输给从库
③从库将rdb文件导入到数据库中,并加载到内存
④在后面做同步的时候,master会把所有命令先buffer起来,不会往磁盘写,直接给slave。
备注:如果master重启,备份数据会重新dump。

2、Redis复制功能的几个重要方面

①一个Master可以有多个Slave;
②Redis使用异步复制。从2.8开始,Slave会周期性(每秒一次)发起一个Ack确认复制流(replication stream)被处理进度;
③不仅主服务器可以有从服务器,从服务器也可以有自己的从服务器,多个从服务器之间可以构成一个图状结构
④复制在Master端是非阻塞模式的,这意味着即便是多个Slave执行首次同步时,Master依然可以提供查询服务;
⑤复制在Slave端也是非阻塞模式的:如果你在redis.conf做了设置,Slave在执行首次同步的时候仍可以使用旧数据集提供查询;你也可以配置为当Master与Slave失去联系时,让Slave返回客户端一个错误提示;
⑥当Slave要删掉旧的数据集,并重新加载新版数据时,Slave会阻塞连接请求(一般发生在与Master断开重连后的恢复阶段);
⑦复制功能可以单纯地用于数据冗余(dataredundancy),也可以通过让多个从服务器处理只读命令请求来提升扩展性(scalability):比如说,繁重的 SORT 命令可以交给附属节点去运行。
⑧可以通过修改Master端的redis.config来避免在Master端执行持久化操作(Save),由Slave端来执行持久化。

三、主从架构
这里写图片描述

1、准备3个配置文件端口分别为

6379 (Master)
6380 (Slave)
6381 (Slave)

2、修改原来的redis.conf文件 ,拷贝出2个redis.conf文件

mv /etc/redis.conf /etc/redis.6379.conf
cp /etc/redis.6379.conf /etc/redis.6380.conf 
cp /etc/redis.6379.conf /etc/redis.6381.conf

3、修改6380 和 6381 配置文件
vim /etc/redis.6380.conf

通过命令替换 6379 为 6380

:%s/6379/6380/g

最底下出现这里写图片描述 表示修改成功, wq退出并保存

4、用一样的方式修改6381 的配置文件
5、启动3个redis实例

redis-server /etc/redis.6379.conf
redis-server /etc/redis.6380.conf
redis-server /etc/redis.6381.conf

6、通过ps 命令查看redis进程

ps -ef | grep redis

7、主从的配置有2种方法:
①在所有从节点的redis.conf(redis.6380.conf和redis.6381.conf)中设置 slaveof
这里写图片描述
②使用redis-cli客户端连接到Redis服务中,执行slaveof命令
这种方式在重启之后就会失去主从复制关系
这里写图片描述

8、查看主从信息:INFO replication
①主库查询
这里写图片描述

②从库显示的信息
这里写图片描述

③测试主从关系
在主库写入数据 ,然后在从库读取数据
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127911.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据库设计工具介绍

    数据库设计工具介绍本文将从如下四个方面和您一起比较四种优秀数据库设计工具的各自优缺点。用户界面可支持的数据库数据工具售价1.DbSchema官网:https://dbschema.com/DbSchema是一种可用于复杂数据库设计和管理的可视化工具。该工具已经集成在大多数主流操作系统之中。用户界面DbSchema具有友好的用户界面,可简化数据库的设计。它能够为管理大型数据库提供友好的界面布局,以便用户更专注于数据库的特定功能。如下图所示,DbSchema界面能够让用户自由地浏览各种视图,在布局中拖放表格,

    2022年7月11日
    31
  • 圈真的决定你的未来?

    圈真的决定你的未来?

    2022年1月6日
    36
  • 精通Dubbo——Dubbo支持的协议的详解[通俗易懂]

    精通Dubbo——Dubbo支持的协议的详解[通俗易懂]Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。dubbo协议缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。连接个数:单连接连接方式:长连接传输协议

    2022年6月17日
    31
  • 免备案空间收集

    免备案空间收集用了这个国外的免备空间,觉得其他的都弱爆了此空间无广告,大空间,速度快,而且是即时开通的,我去截图分享下。虽然是美国的,但是提供中文申请页面,但是用谷歌浏览器可以无障碍设置。这是登录进去时候的页面:这个是我目前的两个域名,每过24小时可以创建一个。这个是控制面板这个是我的账户信息可以看一下磁盘容量和带宽,都是大到用不完···,跟其他的需要付神马1块两块钱别人才提供给…

    2022年6月18日
    25
  • STM32 三极管继电器驱动电路设计「建议收藏」

    STM32 三极管继电器驱动电路设计「建议收藏」继电器线圈需要流过较大的电流(约50mA)才能使继电器吸合,一般的集成电路不能提供这样的大电流,因此,必须要进行扩流,即设计驱动电路。三极管氛围NPN与PNP型两种,在使用中,我选择PNP型的S8550型号三极管。百度三极管驱动继电器,可以得到大量的参考电路设计,虽然花样繁多,但是可用,靠谱的比较少,并且基本都是从两三篇转载而来,上图就是比较经典的一个设计。对于PCB的设计,要保持严…

    2022年6月24日
    33
  • 解决 Mysql 连接 10038 错误问题

    今天在写接口,连接数据库的时候,出现了一点问题,后来几经折腾总算解决了,这里分享给大家。

    2022年4月6日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号