Redis技术文章
-
Redis WATCH 只能在提交前发现被监视键发生变化,并不能保证事务一定成功。本文用并发写入示例拆开事务提交返回空数组、重试窗口和放弃重试的业务边界。165 收藏 -
数据库 · Redis | 4天前 | Redis · 消息队列 · 故障排查 · 消费组 · Redis Stream · 消息堆积 Redis Stream 消费组 XPENDING XAUTOCLAIM
Redis Stream 消费组出现消息堆积时,先用 XPENDING 判断待处理消息的数量、最老时间和消费者归属,再用 XAUTOCLAIM 接管超时消息,最后按小批量确认、失败重试和监控恢复顺序处理。439 收藏 -
Redis Cluster 扩缩容时,业务抖动通常不是迁移命令本身造成的,而是迁移窗口、客户端重定向、热点槽位和失败收尾没有被单独核对。本文用一套可回滚的检查顺序说明如何安排迁移、观察状态并复查失败槽位。367 收藏 -
Redis Hash 适合把一组相关属性放在同一个键下,但字段过大、更新频繁或过期时间不同,会让读取、内存和淘汰策略变得难以验收。本文用用户资料缓存场景拆解字段粒度、局部更新、拆键与 TTL 的取舍,并给出 redis-cli 检查方法。253 收藏 -
Redis Stream 长期运行后,按消息 ID 清理历史记录比按条数裁剪更容易贴合时间窗口。本文用 XTRIM MINID 对比精确裁剪与近似裁剪,说明 LIMIT、消费组 PEL 和回滚验收的实际边界。241 收藏 -
Redis BITFIELD 可以把多个小整数放进一个字符串,并在一次命令中完成读取、写入和递增。本文用设备状态计数说明 u8、# 偏移、OVERFLOW SAT/FAIL 的边界,给出 redis-cli 结果核对与生产使用清单。196 收藏 -
从一个不存在的商品 ID 被反复查询的场景出发,演示 Redis 空值保护的最小实现,说明 TTL、并发回源、数据新建和主动失效之间如何配合。333 收藏 -
从原子操作、脚本发布、集群路由和故障回退几个边界比较 Redis Lua 脚本与 Functions,给出可落地的选择和验收方法。385 收藏 -
从 CLUSTER KEYSLOT 和 CRC16 哈希槽入手,定位 Redis Cluster 的 CROSSSLOT 报错,用 Key Tag 设计同槽键名,并验收 MGET、MULTI 与 Lua 的批量访问边界。170 收藏 -
Redis 7.4 项目里把集合成员一次性读回应用,容易让单次请求和客户端内存一起抖动。本文从 SMEMBERS 迁移到 SSCAN,说明游标循环、COUNT 提示、重复项处理和上线复测的边界。483 收藏 -
Redis 大 Key 不只是内存占用高,还可能放大删除阻塞、网络响应和主从复制压力。本文从识别、分级、拆分、清理与复查五个环节,给出一套可在生产灰度执行的治理方法。349 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
Redis Cluster 中,多键操作需要落在同一 slot,而把所有订单都塞进一个哈希标签又可能制造热点。本文用订单明细与库存扣减场景说明如何拆分 Key、验证 slot 分布,并在多键事务与分片均衡之间做取舍。249 收藏 -
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Sentinel 触发故障转移后,看到某个 Sentinel 报了 SDOWN 并不代表切换已经完成。本文用 ROLE、INFO replication、SENTINEL master 和 switch-master 事件,核对 ODOWN、主节点提升、从节点重挂与应用重连四个结果,给出可回滚的验收清单。356 收藏