Redis技术文章
-
Redis Cluster 迁移哈希槽时,客户端可能收到正常响应、ASK、TRYAGAIN 或 MOVED。本文从 Key 是否已迁移出发,解释正确的重定向、槽位缓存与重试处理。397 收藏 -
用绝对毫秒时间戳设计 Redis ZSET 延迟队列的 score,并结合稳定任务 ID、原子领取、处理租约和幂等消费避免常见并发问题。394 收藏 -
连接池复用能减少建连开销,但空闲连接可能已经失效。本文用 Redis PING 和 redis-py 示例说明健康检查、失效连接隔离、连接重建与业务重试的边界。387 收藏 -
Redis 7.4 开始支持 Hash 字段级 TTL。本文对比 HEXPIRE 与整 key EXPIRE 的适用场景、覆盖规则、版本边界和最小检查方法,帮助按数据生命周期选择更稳妥的过期策略。386 收藏 -
Redis Stream 保留消息时,MAXLEN 适合固定条数窗口,MINID 适合按时间或事件 ID 淘汰。本文比较近似与精确裁剪,并给出复查与消费组判断清单。385 收藏 -
Redis Lua 返回 RESP3 map 时,客户端是否拿到字典取决于脚本内部的 redis.setresp(3) 与连接侧的 HELLO 3 是否分别配置正确。本文拆开两层协议,说明 RESP2 为何会把 map 展平成交替键值数组,并给出客户端解析检查表。379 收藏 -
Redis Cluster 的多 key 命令要求相关 key 位于同一个 hash slot。本文解释 hash tag 的花括号规则,用 CLUSTER KEYSLOT 检查键名,并说明 CROSSSLOT、MOVED、TRYAGAIN 与热点风险的区别。372 收藏 -
Redis ZPOPMIN 会在返回最低分成员的同时把它从有序集合删除,消费者崩溃时可能造成任务丢失。本文用处理中集合、幂等键和超时回收补上这个窗口。369 收藏 -
Redis Pub/Sub 采用至多一次交付,客户端断线后没有历史重放。本文用 Stream、消费组、XACK 与 XPENDING 搭建可恢复消费结构,并说明重试、幂等、保留和广播场景的边界。369 收藏 -
Redis HyperLogLog 用固定空间估算去重数量,本文用 PFADD、PFCOUNT 和 PFMERGE 说明误差、分片合并及适用边界。364 收藏 -
Redis LATENCY DOCTOR 只分析实例内部延迟事件,业务接口耗时还包含网络、连接池、序列化和下游调用。本文用 LATEST、HISTORY、慢日志与应用指标对齐排查,并说明 LATENCY RESET 的证据风险。363 收藏 -
介绍 Redis CLIENT TRACKING 的 BCAST 模式,说明如何用 PREFIX 接收客户端缓存失效通知,并处理 RESP2 重定向、NOLOOP、前缀重叠和通知连接断开等边界。361 收藏 -
Redis Cluster 的多键命令要求相关键位于同一 hash slot。本文用 hash tag 设计键名,再用 CLUSTER KEYSLOT 排查空标签、嵌套花括号和模板不一致等问题。358 收藏 -
Redis Cluster 的多 key 命令、MULTI/EXEC 和 Lua 脚本要求相关 key 落在同一 hash slot。本文用 Hash Tag 设计用户级 key,给出 MSET、事务与脚本的选择方法,并说明 CROSSSLOT、TRYAGAIN、热点和重分片边界。357 收藏 -
Redis Pipeline 出现异常时,不能只看 Exec 总错误。本文用 Go 客户端拆分请求级、命令级和业务级结果,区分 redis.Nil、命令参数错误与连接故障,并说明部分成功与重试边界。354 收藏