Redis技术文章
-
Redis Pub/Sub 断线重连不能补发已丢失消息,但可以保存订阅意图,在新连接建立后按快照恢复频道并用订阅回执确认 ready。本文给出 Go 风格实现思路和 Pub/Sub、Streams 的选型边界。309 收藏 -
从数据是否可重建、访问冷热和 TTL 三个维度选择 Redis 内存淘汰策略,并用 INFO 指标验证配置结果。309 收藏 -
Redis 窗口计数限流最容易出错的地方不是 INCR,而是计数键的窗口边界和 TTL 续期方式。本文用 Lua 原子组合 INCR 与首次 EXPIRE,解释固定窗口、滑动窗口和边界突发的取舍。309 收藏 -
RedisBloom TDIGEST.TRIMMED_MEAN 用分位下界与上界查询截尾均值估计。本文解释0.1、0.9的含义,比较全范围和截尾口径,并说明近似性、空摘要与时间窗口边界。309 收藏 -
Redis OBJECT ENCODING 只告诉你 key 当前采用的内部布局。本文用 listpack、hashtable 和 quicklist 说明编码变化的触发条件,并给出结合 MEMORY USAGE 与延迟数据判断真实性能影响的方法。308 收藏 -
Redis PUBSUB SHARDNUMSUB 用来查询一个或多个分片频道的订阅数。本文从命令格式、返回结构、空参数和 Redis Cluster 节点范围四个角度说明怎样读取结果,并给出接入监控时的成本边界。308 收藏 -
Redis CLIENT LIST 的 TYPE 参数可以按 normal、master、replica、pubsub 筛选客户端连接。本文解释过滤范围、关键字段、TYPE 与 ID 的组合用法,以及脚本处理空结果和权限问题的边界。307 收藏 -
Redis 7.4 起可以让哈希字段单独过期,但标准 keyevent 通知只告诉你哈希键名。本文给出 hexpired 订阅、Redis 8.8+ 字段级通知以及断线和集群恢复的设计方法。306 收藏 -
Redis GETDEL 将读取字符串值和删除键放在一条命令中,适合单键无条件的一次性消费。本文说明 Go 调用、未命中、类型错误以及需要条件或跨键原子性时的替代边界。306 收藏 -
用 Redis COMMAND DOCS 按需读取命令摘要、参数树、版本起点和历史说明,并区分它与 COMMAND INFO 在文档展示和运行时路由中的职责。306 收藏 -
Redis Pipeline 出现单条错误时,不要只看批次级 Exec 返回值。本文用 go-redis 示例说明如何按命令下标定位失败项,区分 WRONGTYPE、redis.Nil 与连接错误,并判断何时需要 TxPipeline。305 收藏 -
Redis SCAN 即使带了 MATCH 和 COUNT,也可能在一次完整迭代中返回重复键。原因是 SCAN 只保存游标,MATCH 负责过滤,COUNT 只是工作量提示;应用侧应使用幂等操作或按需去重,并检查遍历期间的数据变化。305 收藏 -
Redis CMS.INFO 会以 width、depth、count 三组元数据描述 Count-Min Sketch。本文用 redis-cli 说明怎样读取宽度与深度,以及如何避免把 count 当成单个元素的精确计数。304 收藏 -
Redis SCAN 返回的 cursor 是下一次续读的位置,不是已扫描比例。本文解释为什么游标不能换算成百分比,如何用回到 0 判断一轮结束,COUNT 的真实含义,以及动态 keyspace、重复返回和业务进度的处理方式。304 收藏 -
Redis 写入缓存时用 SET 的 EX 或 PX 同步设置值和 TTL,读取并续期时用 GETEX,避免 GET、SET、EXPIRE 拆分造成竞态;本文还区分单命令原子性与多步业务条件。303 收藏