Redis技术文章
-
数据库 · Redis | 4星期前 | Redis · 内存管理 · 故障排查 · 缓存运维 · redis OOM CLIENT NO-EVICT maxmemory-clients noeviction 客户端驱逐
Redis 写入报 OOM 时,先区分数据键无法淘汰与客户端输出缓冲触发驱逐。本文用 CLIENT NO-EVICT、maxmemory-clients、maxmemory-policy 和 INFO memory 还原两条故障链,给出核对命令、控制连接保护和回退边界。376 收藏 -
Redis 7.0 起可以用 CLIENT NO-EVICT 保护控制连接,但它只影响客户端淘汰,不会替代 maxmemory 或键淘汰策略。本文用一条监控连接说明 ON/OFF、配置前提和验收边界。376 收藏 -
Redis SCAN 不会把整个键空间一次性锁住,但完整遍历仍是 O(N) 工作。COUNT 只是单次工作量提示,配合游标、MATCH、TYPE 和渐进式巡检才能控制线上影响。375 收藏 -
用 Redis ZADD 的 NX、GT 与 CH 选项设计可重复执行的排行榜更新流程,处理同分、回退、重复消息和降级查询等常见边界。374 收藏 -
Redis Cluster 的多 key 命令要求相关 key 位于同一个 hash slot。本文解释 hash tag 的花括号规则,用 CLUSTER KEYSLOT 检查键名,并说明 CROSSSLOT、MOVED、TRYAGAIN 与热点风险的区别。372 收藏 -
Redis Lua 脚本在单线程执行模型下可能让后续请求排队。本文从接口延迟突然升高的现象出发,用 SLOWLOG、LATENCY 和脚本耗时证据定位阻塞来源,说明超时边界、停止动作与恢复后的反向验证。370 收藏 -
Redis 出现偶发慢响应时,LATENCY DOCTOR 能把采样到的延迟事件整理成可读报告。本文从阈值设置、事件记录、报告解读和复核动作入手,区分服务端阻塞、慢命令与网络往返。369 收藏 -
Redis Cluster 扩缩容时,业务抖动通常不是迁移命令本身造成的,而是迁移窗口、客户端重定向、热点槽位和失败收尾没有被单独核对。本文用一套可回滚的检查顺序说明如何安排迁移、观察状态并复查失败槽位。367 收藏 -
Redis 7.4 起支持给 Hash 的单个字段设置 TTL。本文用会话 token 场景说明 HEXPIRE、HTTL、条件更新和兼容检查,避免为了一个短期字段让整条 Hash 一起过期。366 收藏 -
数据库 · Redis | 1个月前 | Redis · 安全配置 · 数据库运维 · ACL · 网络隔离 · Redis公网暴露 Redis protected-mode Redis ACL Redis安全配置 Redis审计
Redis 被直接暴露在公网,靠一个密码或 protected-mode 都不够。更稳妥的方案是让端口只对可信应用网络开放,再用 ACL 分配最小命令和 key 权限、启用所需的传输保护并保留配置审计。本文按 Redis 官方安全文档梳理风险和可验证的检查顺序。364 收藏 -
Redis Pub/Sub 采用至多一次投递,订阅端断线期间消息不会保留。本文用最小命令和排查表说明何时继续用 Pub/Sub,何时切换 Streams 或采用混合方案。363 收藏 -
Redis Pub/Sub 断线后不能补回已经错过的消息。本文解释至多一次投递的原因,并用 Redis Streams 消费组设计可补读的可靠事件方案。362 收藏 -
数据库 · Redis | 3星期前 | Redis · 客户端 · 连接管理 · 排障 · 版本兼容 · redis CLIENT SETINFO LIB-NAME LIB-VER CLIENT LIST 连接排障
Redis 连接数量一多,只看地址和用户名很难判断请求来自哪个客户端库。本文用 Redis 7.2 引入的 CLIENT SETINFO 设置 LIB-NAME、LIB-VER,再通过 CLIENT LIST 和 CLIENT INFO 核对连接来源,并处理旧版本兼容。361 收藏 -
Redis ACL DRYRUN 可以在不执行命令的情况下模拟用户权限。本文从 ACL SETUSER 配置命令权限和密钥模式,逐项验收读写边界、拒绝原因与上线前回归。359 收藏 -
Redis Cluster 的多键命令要求相关键位于同一 hash slot。本文用 hash tag 设计键名,再用 CLUSTER KEYSLOT 排查空标签、嵌套花括号和模板不一致等问题。358 收藏