Redis技术文章
-
用 Redis Lua 脚本把库存判断、原子扣减和初始过期放在同一执行边界,说明 TTL 刷新、库存不足、NOSCRIPT 与参数边界。414 收藏 -
本文用 Redis ZRANGE 的 BYSCORE、排他分值和 LIMIT 实现有序集合游标分页,说明如何保存下一页游标、避免重复分值跳过数据,并判断末页与查询成本。414 收藏 -
Redis LPUSHX 只会向已经存在的列表头部写入,key 不存在时不创建列表并返回 0。本文说明它与 LPUSH 的建键差异、返回长度、多元素头插顺序,以及如何把条件写入用于队列初始化边界。413 收藏 -
Redis GEO 附近搜索可用 GEOSEARCH 的 ASC、WITHDIST 和 COUNT 获取距离有序候选,但营业状态、分类、库存等业务条件需结合独立元数据过滤。本文给出 GEO 集合加 Hash、Pipeline 批量读取、过量召回和扩圈补足的完整实现。410 收藏 -
Redis TS.ALTER修改RETENTION不等于立即全量删除旧样本。本文区分策略生效、查询窗口和底层块回收,解释最大样本时间参照、停写序列及持续采集场景的处理取舍。409 收藏 -
ZLEXCOUNT统计同分值有序集合的字典序区间成员数。本文通过设备编码示例说明开闭端点、无界范围、前缀上界及字节排序,定位计数与业务预期不一致的原因。409 收藏 -
按恢复目标比较Redis RDB与AOF配置,说明save条件、appendfsync取舍、多部分AOF资产、配置回滚和恢复演练记录。408 收藏 -
用 Redis SLOWLOG LEN 和 SLOWLOG GET 找到慢命令,读懂耗时与参数字段,再根据阈值和容量配置进行安全排查。406 收藏 -
Redis 8.2 的 XACKDEL 可在一条原子命令中确认并条件删除 Stream 消息。本文说明 KEEPREF、DELREF、ACKED 的区别、返回码判断、批量调用方式及多消费组采用边界。401 收藏 -
从写拆分、读复制和应用本地缓存三个方向缓解 Redis 热点 Key,说明槽位分散、缓存失效、一致性代价以及上线检查方法。397 收藏 -
Redis Cluster 迁移哈希槽时,客户端可能收到正常响应、ASK、TRYAGAIN 或 MOVED。本文从 Key 是否已迁移出发,解释正确的重定向、槽位缓存与重试处理。397 收藏 -
Redis Streams 没有独立的 NACK 命令,本文用 PEL、XPENDING、XAUTOCLAIM 和 XACK 说明 pending 消息的观察、接管、重试与死信处理策略。397 收藏 -
Redis SETRANGE 超出原字符串长度会填充零字节。通过小偏移示例理解字节区间、UTF-8 偏移与扩容代价,并说明如何限制写入范围、选择合适的数据模型。397 收藏 -
Redis keyspace notifications 不必接收全部键变更。需要拿到过期键名时使用 Ex 并订阅 __keyevent@0__:expired,需要拿到事件名时使用 Kx 并订阅 __keyspace@0__:*;同时注意 expired 触发延迟、Pub/Sub 断线丢失和 Cluster 节点范围。396 收藏 -
Redis ZPOPMIN 可按最小分值原子取出并移除任务。通过原创样例说明任务ID、批量数量、并发领取与性能测量,并区分出队、业务完成和延迟执行。395 收藏