Redis技术文章
-
Redis 7.4 为 Hash 字段提供独立过期能力。本文用会话与属性缓存场景说明 HEXPIRE、HTTL、HPTTL 的使用边界,并比较字段级过期、整键 TTL 与拆分 key 的选择。142 收藏 -
从脚本源码复制与脚本效果复制出发,解释 Redis Lua 写命令、AOF 和 replica 的传播边界,并给出可落地的确定性脚本写法。138 收藏 -
Redis BF.MEXISTS 返回的是按输入顺序排列的布尔数组。本文说明如何用位次把结果映射回原始项,并处理 Bloom Filter 的可能误判、重复值、空输入和批量异常。136 收藏 -
Redis AOF 重写期间延迟升高时,先用 INFO persistence 确认窗口,再结合 COW、fork、fsync 排队和延迟事件区分资源竞争与命令本身变慢。134 收藏 -
用 XINFO GROUPS、XINFO CONSUMERS 与 XPENDING 区分 Redis Streams 的未投递积压和未确认积压,并说明 lag、pending、idle、inactive 的版本语义与告警组合。132 收藏 -
Redis Bitmap 的 offset 是从 0 开始的位偏移,不是字节下标。本文用字节映射、Go 边界检查和 BITFIELD 定宽字段示例,说明如何计算位图偏移并避免负数、整数溢出和 2^32 上限带来的越界问题。130 收藏 -
Redis RDB 与 AOF 的选择应围绕数据资产、允许丢失窗口和恢复耗时展开。本文比较快照、同步策略与重写边界,说明隔离历史备份为何不可替代,并给出只读检查和恢复演练思路。119 收藏 -
Redis 更新值时,SET、SET KEEPTTL、HSET、PERSIST 和 EXPIRE 对已有 TTL 的影响不同。本文用命令对照、事务示例和回归清单区分保留、重置与删除过期时间的边界。116 收藏 -
Redis 客户端缓存要避免脏读,重点是正确启用 CLIENT TRACKING 并处理 INVALIDATE 消息。本文比较默认跟踪、OPTIN、OPTOUT、BCAST 与 NOLOOP,说明连接池、跟踪表容量和数据库编号带来的边界。115 收藏 -
Redis 延迟升高不一定来自慢命令。本文搭建一个最小采集器,联合 LATENCY 事件、SLOWLOG、持久化状态和宿主机 intrinsic latency,给出区分命令阻塞、后台事件、系统调度抖动与网络耗时的实用判因方法。113 收藏 -
Redis 7.4 及以上可用 HEXPIRE 为 Hash 字段设置独立 TTL,并用 HTTL 或 HPTTL 检查剩余时间;本文同时说明返回值、更新边界和旧版本替代方案。112 收藏 -
Redis Stream 的 XTRIM MINID 会删除低于指定 ID 的历史条目,适合按时间近似控制保留窗口;MAXLEN 则按数量裁剪。本文用命令、边界表和复查方法说明精确与近似裁剪的取舍。110 收藏 -
Redis 客户端缓存如何在 OPTIN 与 OPTOUT 之间选择?本文从默认跟踪范围、CLIENT CACHING YES、CLIENT UNTRACKING、连接失效和上线检查清单说明两种策略的适用边界。109 收藏 -
Redis Sentinel故障转移时,客户端不能继续依赖旧主节点地址。本文以服务发现、连接池、超时、退避和重试边界为主线,给出一套可落地的重连配置方法。108 收藏 -
Redis BLMOVE 在源列表暂时没有元素时会阻塞,timeout 到期返回 nil 或 null,表示本次移动没有完成。本文说明如何用 EXISTS、TYPE、LLEN 观察源键,并处理补查时的并发竞态。108 收藏