Redis技术文章
-
Redis Lua 脚本在单线程执行模型下可能让后续请求排队。本文从接口延迟突然升高的现象出发,用 SLOWLOG、LATENCY 和脚本耗时证据定位阻塞来源,说明超时边界、停止动作与恢复后的反向验证。370 收藏 -
Redis t-digest的COMPRESSION用于权衡分位数估算精度与内存。本文通过两种配置的命令示例,说明相同样本、INFO内存记录、分位数基线及空摘要的处理边界,避免套用固定误差承诺。370 收藏 -
Redis 出现偶发慢响应时,LATENCY DOCTOR 能把采样到的延迟事件整理成可读报告。本文从阈值设置、事件记录、报告解读和复核动作入手,区分服务端阻塞、慢命令与网络往返。369 收藏 -
Redis ZPOPMIN 会在返回最低分成员的同时把它从有序集合删除,消费者崩溃时可能造成任务丢失。本文用处理中集合、幂等键和超时回收补上这个窗口。369 收藏 -
Redis Pub/Sub 采用至多一次交付,客户端断线后没有历史重放。本文用 Stream、消费组、XACK 与 XPENDING 搭建可恢复消费结构,并说明重试、幂等、保留和广播场景的边界。369 收藏 -
Redis Cluster 扩缩容时,业务抖动通常不是迁移命令本身造成的,而是迁移窗口、客户端重定向、热点槽位和失败收尾没有被单独核对。本文用一套可回滚的检查顺序说明如何安排迁移、观察状态并复查失败槽位。367 收藏 -
Redis GETBIT 读取不存在的 key 或超出字符串范围的 offset 时会把未定义位置视为 0,因此返回 0 不等于命令失败。本文从参数语义、正常返回、错误分支和 Go 调用示例说明如何正确处理。367 收藏 -
Redis 客户端缓存虽然能减少网络往返,但本地副本不会自动知道服务端数据已经改变。本文说明 tracking 如何按读取过的 key 发送失效通知,比较默认模式与广播模式,并给出断线、连接池和热点写入时的选择建议。367 收藏 -
Redis HyperLogLog 用固定空间估算去重数量,本文用 PFADD、PFCOUNT 和 PFMERGE 说明误差、分片合并及适用边界。364 收藏 -
Redis Pub/Sub 采用至多一次投递,订阅端断线期间消息不会保留。本文用最小命令和排查表说明何时继续用 Pub/Sub,何时切换 Streams 或采用混合方案。363 收藏 -
Redis LATENCY DOCTOR 只分析实例内部延迟事件,业务接口耗时还包含网络、连接池、序列化和下游调用。本文用 LATEST、HISTORY、慢日志与应用指标对齐排查,并说明 LATENCY RESET 的证据风险。363 收藏 -
从客户端 GET、判断、DECRBY 的竞态出发,说明 Redis Lua 如何把检查与更新放入同一次原子执行,并给出 KEYS、ARGV、EVALSHA、NOSCRIPT 和脚本长度的迁移清单。363 收藏 -
Redis Pub/Sub 断线后不能补回已经错过的消息。本文解释至多一次投递的原因,并用 Redis Streams 消费组设计可补读的可靠事件方案。362 收藏 -
Redis 连接数量一多,只看地址和用户名很难判断请求来自哪个客户端库。本文用 Redis 7.2 引入的 CLIENT SETINFO 设置 LIB-NAME、LIB-VER,再通过 CLIENT LIST 和 CLIENT INFO 核对连接来源,并处理旧版本兼容。361 收藏 -
介绍 Redis CLIENT TRACKING 的 BCAST 模式,说明如何用 PREFIX 接收客户端缓存失效通知,并处理 RESP2 重定向、NOLOOP、前缀重叠和通知连接断开等边界。361 收藏