当前位置: 首页 > news >正文

Redis问题排查常用命令

云原生学习路线导航页(持续更新中)

  • kubernetes学习系列快捷链接
    • Kubernetes架构原则和对象设计(一)
    • Kubernetes架构原则和对象设计(二)
    • Kubernetes架构原则和对象设计(三)
    • Kubernetes控制平面组件:etcd(一)
    • Kubernetes控制平面组件:etcd(二)
    • kubectl 和 kubeconfig 基本原理
    • kubeadm 升级 k8s集群 1.17到1.20
    • Kubernetes常见问题解答
    • 查看云机器的一些常用配置

本文记录中间件Redis的常用运维命令,包括Redis基础命令和Sentinel运维命令

1.Redis命令

  • 查看redis版本

    # 机器中
    redis-server --version
    
    #redis命令行:
    INFO server
    
  • 登陆redis命令行、sentinel命令行

    • redis-cli -p 6379 -a xxxxxx
    • redis-cli -p 26379 -a xxxxxx
    • 不直接输入密码的话,进入命令行后:auth 密码
  • 数据备份
    在这里插入图片描述
    在这里插入图片描述

  • 数据恢复
    在这里插入图片描述
    在这里插入图片描述

2.Sentinel命令

2.1.日志常见关键字

+sdown:主观下线。
+odown:客观下线。
+failover-state:故障转移状态。
+switch-master:主从切换完成。
+sdown: Sentinel 检测到某个 Redis 实例主观下线(Subjectively Down)。
+odown: Sentinel 检测到某个 Redis 实例客观下线(Objectively Down)。
+vote-for-leader: Sentinel 开始投票选举新的 Leader。
+elected-leader: Sentinel 选举出新的 Leader。
+failover-state: Sentinel 进入故障转移状态。
+slave: Sentinel 将某个从节点提升为新的 Master。
+switch-master: Sentinel 完成主从切换,并更新配置。
+reboot 表示 Sentinel 检测到 Master 重新启动或重新连接。(如果只有 +reboot,说明 Sentinel 认为 Master 只是暂时不可用,而不是真正下线。)
PING:Sentinel 定期发送的探活命令。
reply 或 no reply:Sentinel 是否收到 Redis 实例的响应。
quorum:与客观下线(ODOWN)相关的仲裁逻辑。

2.2.检查 Sentinel 配置

# 查看主节点信息。每一条都是一个redis集群的master,下面的master-name即从这里获取
SENTINEL masters

# 查看从节点信息
SENTINEL slaves <master-name>

# 查看 Sentinel 节点列表
SENTINEL sentinels <master-name>

# 获取主节点地址
SENTINEL get-master-addr-by-name <master-name>

# 修改一个redis主从集群的down-after-milliseconds
SENTINEL SET <master_name> down-after-milliseconds <milliseconds>
  • 关键配置参数:
    • down-after-milliseconds <毫秒>:Sentinel 判定实例不可用的超时时间。master下线不超过这个时间,只会认为redis实例抖动,不会切主
    • quorum:触发客观下线(ODOWN)所需的 Sentinel 投票数。

2.3.检查网络问题

2.3.1.测试网络连通性

# 检查 Redis 实例端口是否可达
telnet <redis-ip> <redis-port>

# 测试网络延迟和丢包
ping <redis-ip>
traceroute <redis-ip>

# 检查防火墙规则
iptables -L -n | grep <redis-port>

2.3.2.检查 Redis 实例负载

  • 如果 Redis 实例负载过高,可能导致 Sentinel 的 PING 超时:
    # 连接 Redis 实例查看状态
    redis-cli -h <redis-ip> -p <redis-port> INFO
    
    # 关注输出中的以下字段:
    - instantaneous_ops_per_sec  # 当前操作数
    - used_memory                # 内存使用量
    - connected_clients          # 客户端连接数
    - latency                    # 延迟(需 Redis 4.0+)
    

2.4.分析问题时间线与逻辑

在这里插入图片描述
在这里插入图片描述

相关文章:

  • C#多线程异步连接MySQL与SQLserver数据库
  • E卷-MELON的难题-(200分)
  • 功能说明并准备静态结构
  • 硕成C语言22【一些算法和数组的概念】
  • 【C++】哈希、unordered_map与unordered_set的模拟实现
  • AcWing——3624. 三值字符串
  • windows配置永久路由
  • VMware vSphere数据中心虚拟化——vCenter Server7.0安装部署
  • 【ARM】解决ArmDS Fast Models 中部分内核无法上电的问题
  • 深入理解 Qt 信号与槽机制:原理、用法与优势
  • Spring Boot 携手 DeepSeek:开启智能交互新时代
  • C语言进阶习题【3】(5 枚举)——找单身狗2
  • 3DsMax快捷键
  • 【kafka系列】Kafka事务的实现原理
  • VSCode C/C++ 开发环境完整配置及常见问题(自用)
  • java枚举类型的查找
  • USC 安防平台之移动侦测
  • github上文件过大无法推送问题
  • 智能编程助手功能革新与价值重塑之:GitHub Copilot
  • 今日写题work05
  • 上海一中院一审公开开庭审理被告人胡欣受贿案
  • 秦洪看盘|受阻回落,蓄积新做多能量
  • 罗马尼亚临时总统博洛让任命普雷多尤为看守政府总理
  • 南京明孝陵石兽遭涂鸦“到此一游”,景区:已恢复原貌,警方在排查
  • 工程机械行业景气度持续回升,三大龙头一季度营收、净利双增
  • 印度扩大对巴措施:封锁巴基斯坦名人账号、热门影像平台社媒