关于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 查看所有的key方式
May 07 Redis
redis通过6379端口无法连接服务器(redis-server.exe闪退)
May 08 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
Redis 配置文件重要属性的具体使用
May 20 Redis
Redis源码阅读:Redis字符串SDS详解
Jul 15 Redis
Redisson实现Redis分布式锁的几种方式
Aug 07 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Redis高可用集群redis-cluster详解
Mar 20 Redis
windows安装 redis 6.2.6最新步骤详解
Apr 26 Redis
Redis基本数据类型List常用操作命令
Jun 01 Redis
关于Redis的主从复制及哨兵问题
Jun 16 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
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
jQuery实现的简单拖拽功能示例
2016/09/13 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
layui实现form表单同时提交数据和文件的代码
2019/10/25 Javascript
python中的列表推导浅析
2014/04/26 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
python redis 批量设置过期key过程解析
2019/11/26 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
Python实现异步IO的示例
2020/11/05 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
机械制造专业毕业生求职信
2014/03/02 职场文书
廉洁校园实施方案
2014/05/25 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
民主评议党员总结
2014/10/20 职场文书
2014年维稳工作总结
2014/11/18 职场文书
2014年资料员工作总结
2014/11/18 职场文书
档案工作个人总结
2015/03/03 职场文书
导游词之海南天涯海角
2019/12/05 职场文书