Redis技术文章
-
Redis Hash 可以把多个业务计数放在同一个 key 下,再用 HINCRBY 按 field 分别累加。本文说明首次写入、返回值、读取方式、非整数值和 64 位整数边界。268 收藏 -
Redis 6.2 及以上可用 GETDEL 原子读取并删除字符串键,适合一次性登录令牌、确认码等场景。本文说明命中、空值、类型错误、旧版本 Lua 兼容和 TTL 边界。215 收藏 -
Redis 用 SET 更新字符串值后 TTL 变成 -1,通常不是过期计时器失效,而是 SET 默认覆盖整个键并清除旧过期时间。本文用 TTL、KEEPTTL 和 EX/PX 给出排查与修复方法。349 收藏 -
Redis 删除大键时,DEL 会同步承担复合值的释放成本,UNLINK 则先摘除键并把内存回收放到后台线程。本文按负载、键大小和监控方式给出选择清单。120 收藏 -
Redis SCAN 允许同一键在一次完整遍历中多次返回。本文解释游标、COUNT、MATCH 和并发修改的边界,并给出幂等消费与重复排查方法。285 收藏 -
使用 Redis GEOADD 建立门店地理索引,再用 GEOSEARCH 按半径筛选、按距离升序返回附近门店,并说明 WITHDIST、COUNT、ANY 和经纬度顺序的常见边界。331 收藏 -
Redis HyperLogLog 适合统计大规模 UV:用 PFADD 写入访问标识,PFCOUNT 读取估算值,PFMERGE 合并渠道或分片,并根据 0.81% 左右标准误差判断是否需要精确 Set。302 收藏 -
Redis ZSET 分数相同时不会按插入顺序排列,而是继续按 member 的二进制字节序排序。本文用命令示例说明正反向查询,并给出姓名、序号和时间等业务 tie-break 的设计方法。279 收藏 -
用 Redis bitmap 按用户和月份记录每日签到,演示 SETBIT、GETBIT、BITCOUNT 的组合,并说明日期偏移、BIT 范围、过期和补签边界。446 收藏 -
Redis Stream 消费者异常退出后,未确认消息会留在 PEL。本文用 XPENDING 定位积压,再比较 XAUTOCLAIM 与 XCLAIM,给出带游标、批量和重试边界的可重复接管流程。345 收藏 -
Redis Lua 的优势是减少网络往返并保持原子性,代价是脚本运行期间会占用主线程。本文用有界循环、KEYS/ARGV、SLOWLOG、延迟历史和脚本缓存调用,给出一套可执行的收敛与拆分判断方法。216 收藏 -
Redis 8.8 的 XNACK 可以把消费组中尚未处理完的 Pending 消息立即交回,避免等待 idle-timeout。文章区分 XNACK、XACK 与 XAUTOCLAIM,并给出优雅退出、资源压力和回归检查的边界。332 收藏 -
Redis 8 和 8.8 改善了全量同步路径,但线上仍要围绕复制偏移量、复制积压缓冲区、副本延迟和故障切换建立观察清单。390 收藏 -
Redis 8.6 为 Streams 的 XADD 增加 IDMP 与 IDMPAUTO,帮助生产端在网络断开或进程重试时避免同一消息重复入流。本文拆开 pid、iid、Stream entry ID 与消费者组的边界,给出可验证的命令写法。494 收藏 -
Redis SCAN 不会把整个键空间一次性锁住,但完整遍历仍是 O(N) 工作。COUNT 只是单次工作量提示,配合游标、MATCH、TYPE 和渐进式巡检才能控制线上影响。375 收藏