Redis技术文章
-
Redis SETBIT 用非负 bit offset 设置或清除字符串中的某一位。本文用 offset 0、7、8 说明跨字节写入,配合 GETBIT、BITCOUNT 和 Go 代码处理编号映射、旧值返回以及大偏移扩容边界。303 收藏 -
Redis SPOP 用于从 Set 中随机取出并删除成员:不带 count 时取一个成员,带 count 时批量取出至多指定数量。本文解释空集合、数量超范围、key 删除以及与 SRANDMEMBER、SREM 的边界,帮助把随机取出真正用于可接受乱序的消费场景。303 收藏 -
Redis HyperLogLog 适合统计大规模 UV:用 PFADD 写入访问标识,PFCOUNT 读取估算值,PFMERGE 合并渠道或分片,并根据 0.81% 左右标准误差判断是否需要精确 Set。302 收藏 -
Redis LPOS 不只是查第一个匹配位置,还能用 MAXLEN 限制最多比较的列表元素,用 RANK 从头尾定位后续匹配,再用 COUNT 一次返回多个位置。本文梳理参数组合、零基索引以及空值和空数组的区别。302 收藏 -
用三个日活摘要演示 Redis HyperLogLog 的跨日去重计数,区分多键 PFCOUNT 与 PFMERGE,并解释旧目标污染、晚到数据、保留周期和近似误差。302 收藏 -
Redis INCRBYFLOAT 成功后返回更新值的字符串表示,尾随零会被去掉,不能把返回文本当作固定格式的小数直接比较。本文解释浮点结果的比较风险,并给出 Go 容差比较、整数最小单位和错误边界处理方案。301 收藏 -
Redis 列表做轻量任务队列时,单独使用 RPOP 容易在消费进程崩溃后丢任务。本文用 LMOVE/BLMOVE 把任务先移入 processing list,再用 LREM 确认完成,拆开重复消费、幂等和集群同槽边界。300 收藏 -
Redis Cluster 中 MULTI 不能直接跨槽位执行。本文解释 hash slot、哈希标签和 MOVED 边界,并给出键设计、事务拆分与上线检查清单。300 收藏 -
Redis 7.0 起将 AOF 组织为一个 BASE、多个 INCR 和一份 manifest。本文说明文件集合关系、BGREWRITEAOF 的新旧代切换、失败保护、INFO persistence 检查以及备份与性能边界。299 收藏 -
Redis HRANDFIELD 可以从 Hash 中随机取一个或多个字段。本文区分不带 count、正负 count 与 WITHVALUES 的返回边界,并说明它与 HGETALL、HSCAN 的使用差异。299 收藏 -
Redis SDIFFSTORE 会把首个集合排除后续集合得到的差集写入目标键。本文用会员集合示例说明参数顺序、目标覆盖、返回值、O(N) 复杂度与 Redis Cluster 同槽位边界。298 收藏 -
Redis Cluster resharding 期间出现 MOVED,通常是客户端 slot 拓扑落后或正在经历迁移中的临时路由。本文区分 MOVED、ASK 与 TRYAGAIN,说明集群客户端如何缓存和刷新槽位地图,并给出小窗口迁移、有限重试、退避和监控检查清单。297 收藏 -
Redis MEMORY USAGE 返回指定 key、值和管理开销的字节估算;集合型对象还要结合 SAMPLES 与 INFO memory 区分单键占用、实例分配和 RSS。296 收藏 -
Redis XNACK 可以把消费组 PEL 中仍未确认的消息释放为立即可重新投递状态。本文说明 SILENT、FAIL、FATAL 对 delivery counter 的影响,并梳理 RETRYCOUNT 与 FORCE 的使用边界。296 收藏 -
Redis AOF 重写期间怎样观察写入缓冲增长?本文区分 Redis 7 前后的实现,用 INFO persistence 观察重写状态、AOF 大小、COW 与磁盘空间,避免把已移除的字段当成当前指标。296 收藏