关于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 相关文章推荐
Django使用redis配置缓存的方法
Jun 01 Redis
Redis基于Bitmap实现用户签到功能
Jun 20 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
详解redis在微服务领域的贡献
Oct 16 Redis
关于使用Redisson订阅数问题
Jan 18 Redis
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
Feb 12 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
Mar 13 Redis
Redis集群节点通信过程/原理流程分析
Mar 18 Redis
Redis高可用集群redis-cluster详解
Mar 20 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
浅谈Redis缓冲区机制
Jun 05 Redis
Redis批量生成数据的实现
Jun 05 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导出word格式数据的代码实例
2013/11/25 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
google地图的路线实现代码
2009/08/20 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
使用Python构建Hopfield网络的教程
2015/04/14 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
EJB3.1都有哪些改进
2012/11/17 面试题
计算机系毕业生推荐信
2013/11/06 职场文书
财务出纳员岗位职责
2013/11/26 职场文书
社会学专业求职信
2014/07/17 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
2019年公司快递收发管理制度模板
2019/11/20 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python
Python学习之时间包使用教程详解
2022/03/21 Python