redis哨兵模式搭建

先搭建主从结构

当需要运行多个Redis实例时,可以通过为每个实例使用不同的配置文件的方式来实现。

复制redis目录下的redis.conf 文件将其重命名为redis6380.confredis6381.conf,或者将其放到单独文件夹中,这里为了偷懒,简单实现一下选择直接将其复制到与redis.conf同一目录下。然后修改刚刚复制的配置文件。

命令格式:info replication

作用:检查redis节点的状态信息

  • 节点划分策略:根据业务需要要求。
    • 示例:以6379为主机、6380、6381为从机
  • 实现主从挂载
    • 方法通过主从挂载命令完成。
    • 主从挂载命令:slaveof host port
    • 实现过程:
      • 第一步:进入从机客户端,执行主从挂载命令

主从挂载特点:

  • 一个主机可以有多个从机。
  • 一个从机只有一个主机。从机多次执行slaveof命令,每次执行都是更换主机,而不是从机挂载。
  • 主机可以知道所有从机信息、而从机也知道所属主机的信息,而同属一个主机的多台从机之间互不知道。
  • 主从之间的通信只在主--从之间进行,而从--从之间没有通信。
  • 从机只接受主机的写操作,其它的写操作一律不接受;从机可接受所有的读操作。

哨兵机制

  • 原理:
    • 当哨兵工作时会连接redis主机,并通过主机,获取所有从机的信息。
    • 监控主机运行状况
      • 通过心跳检测(ping<---->pong)机制,定时向主机发ping命令,当达到规定次数仍然没有得到主机的pong结果,认定主机宕机。
    • 通过随机算法将从所有从机选举出新主机。
    • 负责剩下的从机重新挂载到新主机上。
    • 当主机恢复后,会做为从机挂载到当前主机上。
  • 哨兵机制的实现
    • 编辑redis.conf文件
    • 编辑sentinel.conf文件
      • 位置:

将此配置文件复制到哨兵的工作目录。

基础配置方法:

另外注意:如果主机有密码的情况下需要找到下面这行配置取消注释并填上主机的密码

复制代码
# masterauth <master-password>
  • 哨兵启动
    • 哨兵的启动
      • 前置条件:sentinel.conf
      • 启动命令:redis-sentinel sentinel.conf
      • 示例:
相关推荐
java1234_小锋4 小时前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存
向阳而生,一路生花6 小时前
redis离线安装
java·数据库·redis
hzk的学习笔记7 小时前
Redisson 的 Watchdog 机制
数据库·redis·分布式·缓存
hzk的学习笔记10 小时前
Redisson解锁失败,watchdog会不会一直续期下去?
数据库·redis·缓存
bing.shao10 小时前
如何降低redis哈希值冲突概率
数据库·redis·哈希算法
ckm紫韵10 小时前
redis查询速度快的原因?
数据库·redis·缓存
熊文豪1 天前
openEuler 云原生实战:部署高性能 Redis 集群与压测分析
数据库·redis·云原生·openeuler
xrkhy1 天前
canal1.1.8+mysql8.0+jdk17+redis的使用
android·redis·adb
MuYiLuck1 天前
redis持久化与集群
java·数据库·redis
埃泽漫笔1 天前
Redis性能优化避坑指南
redis