← [ BACK_TO_NOTES ]

Redis 运维、观测与故障语义

将 Redis 指标、命令级观测、客户端策略与不同数据角色的 failure policy 放在同一模型中,区分 authority、cache、notification 与 queue 的故障行为。

#synthesis #growing #backend #ops #architecture #redis

[!info] related notes

Redis 运维、观测与故障语义

范围

Redis 的生产正确性不仅取决于命令是否写对,还取决于:

latency
memory
eviction
connection pool
persistence
slow command
failure classification
recovery path

最关键的是:Redis 在不同场景扮演的角色不同,故障策略也必须不同。

常用观测入口

INFO
CLIENT LIST
SLOWLOG
MEMORY
LATENCY
SCAN
DBSIZE

MONITOR 可以临时诊断,但不适合作为常驻生产观测方案。

关键指标的语义

used_memory / used_memory_rss
connected_clients
rejected_connections
blocked_clients
expired_keys
evicted_keys
keyspace_hits / keyspace_misses
instantaneous_ops_per_sec
persistence / AOF status
replication lag

[!important] 指标必须结合 Key 的业务角色解释。Cache miss 与 Session miss 不是同一种“miss”。

Failure Policy 由 State Ownership 决定

Authority

例如 Session / Refresh authority:

Redis unavailable
→ cannot prove current state
→ fail closed

Rebuildable Cache

Redis unavailable
→ fallback authoritative source
→ correct but slower

Best-effort Notification

Redis Pub/Sub unavailable
→ continue durable commit
→ fallback reconciliation

Wakeup Optimization

Redis job-ready signal lost
→ periodic durable recovery sweep

BodySense Failure Matrix

CapabilityRedis 不可用时
Session authority503 / fail closed
Refresh authority503,不签发无法记录的新 credential
Auth rate limit当前安全策略偏 fail closed
HealthWorkspace cachefallback PostgreSQL
Knowledge/RAG cachefallback normal retrieval
Runtime event notifierfallback DB reconciliation
Job wakeupfallback periodic DB sweep

内存与隔离

如果同一实例混放:

security-critical state
+
disposable cache
+
notification
+
queue-like data

它们会共享 maxmemory、eviction policy、process failure、CPU、restart 和 connection limit。

Redis logical DB 不能提供这些故障域隔离。真正需要隔离时,应使用独立实例 / deployment boundary。

Client Policy

显式考虑:

DialTimeout
ReadTimeout
WriteTimeout
PoolSize
MinIdleConns
MaxRetries
TLS
startup Ping timeout

对安全关键路径,bounded latency 通常比无界 retry 更重要。

排障顺序

用户错误 / 延迟
→ 应用 Redis operation latency / error
→ connection pool
→ SLOWLOG / LATENCY
→ memory / eviction
→ persistence / fork
→ network / replication

避免“PING 正常 = Redis 健康”的误判。

创建于 2026/9/18 更新于 2026/9/18
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本