当前位置: 首页 > 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.分析问题时间线与逻辑

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

http://www.dtcms.com/a/20003.html

相关文章:

  • 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
  • Autojs: 使用 SQLite
  • Word中打开开发工具【修改日期控件显示格式】
  • C#学习之S参数读取(s2p文件)
  • 如何预防DDOS攻击
  • 多模态本地部署ConVideoX-5B模型文生视频
  • 深入理解 Rust 的迭代器:从基础到高级
  • JZ39 数组中出现次数超过一半的数字 (Boyer-Moore 投票算法)候选法
  • 浮点数的机器码表示
  • linux--关于makefile
  • 白话文实战OpenFeign