redis的部署方式,主从,集群(docker搭建mysql主从)

Redis集群搭建——主从模式前言一、什么是主从模式?二、主从模式集群的搭建案例总结前言一般情况下,为了减轻数据库的访问压力,我们会把热点数据保存在内存中而不是直接从后端数据库中读取。Redis虽然是一个极其优秀的非关系型数据库,但是在大型网站应用,热点数据的并发访问量达到百万千万是很正常的,这个时候单个redis就不能够保证数据量的访问和存储。这个时候我们就可以搭建redis集群,可以保证数据的分散存储与数据的一致性,实现redis的高可用,发生故障时保证程序的正常运行与数据的保存。Redis有几

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


前言

一般情况下,为了减轻数据库的访问压力,我们会把热点数据保存在内存中而不是直接从后端数据库中读取。Redis虽然是一个极其优秀的非关系型数据库,但是在大型网站应用,热点数据的并发访问量达到百万千万是很正常的,这个时候单个redis就不能够保证数据量的访问和存储。这个时候我们就可以搭建redis集群,可以保证数据的分散存储与数据的一致性,实现redis的高可用,发生故障时保证程序的正常运行与数据的保存。
Redis有几种集群模式,每种模式都有它各自的特点,下面将介绍redis的集群搭建模式之一:主从模式。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是主从模式?

redis的主从模式(master-slave)简单理解就是,一个主人(master)对应了多个仆从(slave),主节点负责对数据的写操作,从节点负责对数据进行写操作。
在这里插入图片描述

二、主从模式集群的搭建案例

1.创建新的目录存放redis.conf

1.打开redis安装目录,新建目录
mikdir master-cluster
2. 把redis配置文件复制到新建目录,我的是master-slave
cp  redis.conf  redis安装目录/master-slave

2.进入master-slave目录,修改redis.conf文件端口,关闭AOF,如果开启了自动RDB,需要修改对应配置文件快照保存文件的文件名,不会请参照:Redis的两种持久化方式及其优缺点

vi redis.conf

在这里插入图片描述
在这里插入图片描述

3.再复制两个配置文件,修改对应的端口为7002,7003(如上)

cp redis.conf redis01.conf
cp redis.conf redis02.conf

4.启动redis时指定上面的三个配置文件

redis-server redis.conf
redis-server redis02.conf
redis-server redis03.conf

5.连接redis

redis-cli -h 127.0.0.1 -p 7001

6 查看当前redis状态,role为master

info replication

在这里插入图片描述

退出:
exit

5 配置主从,配从不配主
连接7002,我们在7002和7003使用 slaveof 127.0.0.1 7001 把7002和7003挂载7001上
在这里插入图片描述

6.查看状态
在这里插入图片描述
配置成功

三、主从模式的优缺点

优点:
1.Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
2. Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。
3.为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
4.Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作。
5.支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
缺点:
1.Redis不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
2.主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
3.Redis的主从复制采用全量复制,复制过程中主机会fork出一个子进程对内存做一份快照,并将子进程的内存快照保存为文件发送给从机,这一过程需要确保主机有足够多的空余内存。若快照文件较大,对集群的服务能力会产生较大的影响,而且复制过程是在从机新加入集群或者从机和主机网络断开重连时都会进行,也就是网络波动都会造成主机和从机间的一次全量的数据复制,这对实际的系统运营造成了不小的麻烦。
5.Redis较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了主从模式的配置使用,想要更好的使用主从模式还需要我们更深入的学习。

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

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

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


相关推荐

  • ClassLoader cl = getClass().getClassLoader()[通俗易懂]

    ClassLoader cl = getClass().getClassLoader()[通俗易懂]ClassLoadercl=getClass().getClassLoader()getClass():取得当前对象所属的Class对象  getClassLoader():取得该Class对象的类装载器

    2022年5月31日
    33
  • 大学本科数学专业课程有哪些(数学专业大一上学期课程)

    专业基础类课程:解析几何(大一上学期)数学分析I(大一上学期)数学分析II(大一下学期)数学分析III(大二上学期)高等代数I(大一上学期)高等代数II(大一下学期)常微分方程(大二上学期)抽象代数(大二下学期)概率论基础(大二下学期)复变函数(大二下学期)近世代数(大二下学期)专业核心课程:实变函数(大三上学期)偏微分方程(大三上学期)概率论(大三上…

    2022年4月16日
    292
  • TerminateProcess结束进程

    #include#include#includeBOOLKillProcess(DWORDdwProcessId){  HANDLEhProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwProcessId);BOOLbKill=TerminateProcess(hProcess,0);if(bKil

    2022年4月7日
    59
  • 支持向量回归-SVR

    支持向量回归-SVR对于一般的回归问题,给定训练样本D={(x1,y1),(x2,y2),…,(xn,yn)},yi€R,我们希望学习到一个f(x)使得,其与y尽可能的接近,w,b是待确定的参数。在这个模型中,只有当发f(x)与y完全相同时,损失才为零,而支持向量回归假设我们能容忍的f(x)与之间最多有ε的偏差,当且仅当f(x)与y的差别绝对值大于ε时,才计算损失,此时相当于以f(x)为中心,构建一个宽度为2ε的

    2022年6月5日
    23
  • python autopep8_汽车auto出现错误8怎么解决

    python autopep8_汽车auto出现错误8怎么解决PEP8PEP8–StyleGuideforPythonCodePEPmeansPythonEnhancementProposals.可以理解为Python相关的规范性建议文档,深入学习Python必读。autopep8(github)AtoolthatautomaticallyformatsPythoncodetoconformtothePEP8styleguide.autopep8–in-place–aggressive–a..

    2025年11月4日
    2
  • 微信小程序实现下载功能(以下载视频为例)「建议收藏」

    微信小程序实现下载功能(以下载视频为例)「建议收藏」一、wx.downloadFile()方法:访问视频对应的Url,回调函数返回一个该视频文件的临时路径。wx.downloadFile({url:app.serverUrl+me.data.videoInfo.videoPath,success:function(res){//只要服务器有响应数据,就会把响应内容写入文件并进入success回调,业务需要自行判断是否下载到了想要的内容

    2022年6月22日
    313

发表回复

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

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