关于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三种高可用方式部署的实现
May 11 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
k8s部署redis cluster集群的实现
Jun 24 Redis
Redis读写分离搭建的完整步骤
Sep 14 Redis
Redis的字符串是如何实现的
Oct 24 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
Mar 13 Redis
Redis中有序集合的内部实现方式的详细介绍
Mar 16 Redis
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
Mar 16 Redis
关于Redis的主从复制及哨兵问题
Jun 16 Redis
Redis Lua脚本实现ip限流示例
Jul 15 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
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
PHP文件操作实例总结
2016/09/27 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
js style动态设置table高度
2014/10/21 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
toString.call()通用的判断数据类型方法示例
2020/08/28 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
python if not in 多条件判断代码
2016/09/21 Python
用Python将动态GIF图片倒放播放的方法
2016/11/02 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
房地产融资计划书
2014/01/10 职场文书
歌唱比赛获奖感言
2014/01/21 职场文书
《都江堰》教学反思
2014/02/07 职场文书
禁毒心得体会范文
2016/01/15 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
会计专业自荐信范文
2019/05/22 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL