Redis技术文章
-
数据库 · Redis | 1天前 | Redis · 故障恢复 · Streams · 消费者组 · 消息重试 · redis 消费者组 XPENDING XAUTOCLAIM Redis Streams
Redis Streams 消费者异常退出后,消息会留在 PEL 中。先用 XPENDING 观察归属、空闲时间和投递次数,再用 XAUTOCLAIM 接管超时消息,处理成功后用 XACK 完成闭环。380 收藏 -
Redis Pipeline 不是批次越大越快。本文从 RTT、回复队列和单批延迟三个角度,给出可落地的批量窗口设计与 Go 实现。181 收藏 -
Redis Pub/Sub 断线后不能补回已经错过的消息。本文解释至多一次投递的原因,并用 Redis Streams 消费组设计可补读的可靠事件方案。362 收藏 -
Redis List 队列要把待办任务可靠地交给消费者,推荐用 LMOVE 原子地从 pending 移入 processing,再用 LREM 确认完成;Redis 6.2+ 还可用 BLMOVE 等待任务。499 收藏 -
Redis 用 SINTER 对多个 Set 求交集,适合按标签筛选同时满足多个条件的用户。本文从反向索引、SINTER 与 SINTERSTORE 的选择、结果失效、复杂度和 Redis Cluster 同槽约束说明完整做法。288 收藏 -
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 收藏