Redis
已收录文章:86篇
-
Redis 8.8 带来原生 Array 数据结构,适合滚动窗口、按索引读取和范围聚合。本文用一组最小命令验证它与 List 的差异,并给出从 List 迁移前应检查的读写边界、客户端支持和回滚办法。154 收藏
-
数据库 · Redis | 1个月前 | Redis · 内存管理 · 故障排查 · 缓存运维 · redis OOM CLIENT NO-EVICT maxmemory-clients noeviction 客户端驱逐Redis 写入报 OOM 时,先区分数据键无法淘汰与客户端输出缓冲触发驱逐。本文用 CLIENT NO-EVICT、maxmemory-clients、maxmemory-policy 和 INFO memory 还原两条故障链,给出核对命令、控制连接保护和回退边界。152 收藏
-
Redis Streams 消费者组出现积压时,XAUTOCLAIM 可以把超过最小空闲时间的 pending 消息交给健康消费者继续处理。本文用故障接管场景说明 start 游标、COUNT、JUSTID、重试次数和删除幽灵消息的验收边界。148 收藏
-
Redis 的服务端缓存很快,但高频读请求仍可能把网络和序列化成本推到应用侧。本文用 Redis Tracking 演示本地缓存如何接收失效通知,比较默认模式与 OPTIN,说明 RESP3、重连、写后读取和广播模式的边界,给出一套可验证的落地检查清单。144 收藏
-
Redis Hash 字段过期后,整条 Hash 不一定会立刻消失。用 HEXPIRE 设置字段级 TTL,用 HTTL 或 HPTTL 检查精度,再结合 HGET、HLEN 和主动读取判断字段是否已不可见;验收时要区分过期时间写入失败、惰性删除和整 key 生命周期。138 收藏
-
Redis 8.2 为 Streams 增加 XACKDEL 和 XDELEX,可在多消费组场景中把确认与删除、删除与消费组引用处理放进同一条命令。本文用可复现实验比较旧式客户端清理流程与 ACKED 策略的延迟、删除结果和边界。136 收藏
-
Redis RESP3 不是把 RESP2 换个版本号,而是会改变部分命令的返回类型。本文用 Go 和 go-redis 拆开 HGETALL 的 map/array 差异,给出升级判断、解析边界和灰度验证办法。127 收藏
-
Redis 8.8 新增 INCREX,把计数、上限和过期时间放进一个原子命令。文章用 redis-cli 演示 60 秒窗口限流,解释 UBOUND、ENX、SATURATE 的差别,并给出旧版本回退方案与检查边界。123 收藏
-
Redis COPY 适合在同一实例内复制缓存或配置键,但 REPLACE、DB 和 Redis Cluster 的哈希槽限制很容易被忽略。本文用可验证命令讲清返回值、TTL、复杂度和失败边界。123 收藏
-
Redis SCAN 是渐进式遍历,不是一次性分页接口。本文用游标、MATCH、COUNT 和去重集合拆开“漏键”错觉,给出可验收的清理脚本与边界判断。121 收藏
-
Redis 热点 key 在高并发下同时过期,所有请求会一起回源数据库,表现为 DB QPS 突增、接口超时和 Redis 命中率下降。排查时先看热点 key 的 TTL、命中率和回源日志,修复时用互斥锁、逻辑过期、随机 TTL 和降级保护控制回源压力。119 收藏
-
Redis LMPOP 可以从多个 List 中选择一个非空队列并批量取出元素,但它不是轮询器。本文核对 LEFT、RIGHT、COUNT、空结果和多键顺序,给出多队列消费的安全写法与上线检查点。115 收藏