关于Redis的主从复制及哨兵问题


Posted in Redis onJune 16, 2022

服务器配置

到这里关于redis的一些基本操作就学习完了,接下来我们就来看看redis中更加高级的部分,首先是配置文件中的配置信息。

配置项 说明
daemonize yes no
bind 127.0.0.1 绑定主机地址
port 6379 设置服务器端口号
databases 16 设置数据库数量
loglevel debug verbose
logfile 端口号.log 设置日志文件名
maxclients 0 设置同一时间最大客户端连接数,默认无限制,当客户端连接达到上限时,redis会关闭新的连接
timeout 300 客户端闲置等待最大时长,达到最大值后关闭连接,如需关闭该功能, 设置为0
include /path/server-端口号.conf 导入并加载指定配置文件信息,用于快速创建redis公共配置较多的redis实例配置文件,便于维护

主从复制

现在我们只是在使用一个redis,它就会出现一些问题,比如服务器宕机后,该服务器上的redis将无法提供服务,而此时应用又只有一个redis服务支撑,那么我们的业务将无法提供正常的服务,为了保证高可用,我们需要为redis搭建集群。

redis中以master为主机,slave为从机,一个master可以对应多个slave,而一个slave只能对应一个master。

那么首先我们需要建立slave到master的连接,使master能够识别slave,并保存slave的端口号,启动四个窗口模拟这一过程:

关于Redis的主从复制及哨兵问题

在6380服务和6381服务窗口分别开启6380端口、6381端口的redis服务,然后来到slave窗口:

redis-cli -p 6381
slaveof 127.0.0.1 6380

这里表示使用6381端口连接6380端口,作为它的从机,此时我们再来到master窗口,连接客户端:

redis-cli -p 6380
set name zs

会发现,slave窗口中6381端口的redis也能够获取到该数据,此时证明主从搭建好了。

我们也可以在启动redis服务的时候就进行连接:

redis-server redis-6381.conf --slaveof 127.0.0.1 6380

redis推荐使用配置文件的方式搭建主从结构,修改redis-6381.conf:

slaveof 127.0.0.1 6380

此时6381就成了6380的从机了。

哨兵

在主从的环境下也可能会产生问题,比如作为主机的master服务宕机了,此时作为它的从机都无法正常工作了,这个时候我们需要在slave中选出一个作为新的master,以支撑主从继续提供服务。

哨兵则是为了解决上述问题的,它是一个分布式的系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有的slave连接到新的master。

哨兵的启动方式如下:

redis-sentinel sentinel.conf

哨兵的客户端链接方式:

redis-cli -p 26379

需要注意的是哨兵客户端不支持数据操作,它只作监控用途。

到此这篇关于Redis的主从复制及哨兵的文章就介绍到这了,更多相关Redis主从复制内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
redis限流的实际应用
Apr 24 Redis
浅谈Redis在直播场景的实践方案
Apr 27 Redis
基于Redis延迟队列的实现代码
May 13 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
Redis缓存-序列化对象存储乱码问题的解决
Jun 21 Redis
Redis主从配置和底层实现原理解析(实战记录)
Jun 30 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis过期数据是否会被立马删除
Jul 23 Redis
Redis实现分布式锁的五种方法详解
Redis实现短信验证码登录的示例代码
Jun 14 #Redis
Redis批量生成数据的实现
Jun 05 #Redis
Redis实现订单过期删除的方法步骤
Jun 05 #Redis
浅谈Redis缓冲区机制
Redis全局ID生成器的实现
Jun 05 #Redis
Redis keys命令的具体使用
Jun 05 #Redis
You might like
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
jQuery 学习 几种常用方法
2009/06/11 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
Python如何判断数独是否合法
2016/09/08 Python
python中的变量如何开辟内存
2018/06/26 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
测量实习生自我鉴定
2013/09/19 职场文书
实习生自荐信范文分享
2013/11/27 职场文书
擅自离岗检讨书
2014/02/11 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
一年级学生期末评语
2014/04/21 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
公司证明怎么写
2014/09/22 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
清明节寄语2015
2015/03/23 职场文书
春节慰问简报
2015/07/21 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis