Redis技术文章
-
Redis 分布式锁最容易出问题的地方,不是 SET NX EX 本身,而是任务执行时间超过租约后如何续期、谁有资格释放以及续期失败后怎样停止业务写入。本文用单实例锁的最小模型拆开租约、看门狗、随机令牌和围栏令牌的边界,再给出可验收的续期与释放检查清单。419 收藏 -
解释 Redis 8.10 Compact Hash 如何让大量同结构 Hash 共享字段名,并给出适用条件、HIMPORT 关系、内存指标和不适用边界。417 收藏 -
介绍 Redis BITFIELD_RO 的 GET 语法、bit 偏移、返回顺序,以及它与 BITFIELD 在只读副本场景中的使用边界。417 收藏 -
Redis RESP3 的 Push 帧可以在普通命令回复前后到达。本文比较 RESP2、成熟 RESP3 客户端和自写解析器三种兼容方案,并给出 HELLO 3、Push 分发与 client tracking 的检查方法。415 收藏 -
Redis Hash 适合把对象拆成多个 field。本文用 HSET 和客户端示例说明如何只更新一个子键,减少大对象读写,并处理返回值、并发覆盖与过期时间边界。414 收藏 -
用 Redis Lua 脚本把库存判断、原子扣减和初始过期放在同一执行边界,说明 TTL 刷新、库存不足、NOSCRIPT 与参数边界。414 收藏 -
本文用 Redis ZRANGE 的 BYSCORE、排他分值和 LIMIT 实现有序集合游标分页,说明如何保存下一页游标、避免重复分值跳过数据,并判断末页与查询成本。414 收藏 -
讲清 Redis SET 命令的 GET 选项如何在一次原子写入中返回旧值,并覆盖键不存在、非字符串旧值、条件写入、TTL 保留及 GETSET 迁移等边界。413 收藏 -
Redis GEOSEARCH 的距离单位不是展示格式,而是过滤半径的一部分。本文用 M、KM、FT、MI 对照示例,说明如何选单位、核对坐标、验证返回距离并处理边界。412 收藏 -
Redis CLIENT NO-EVICT ON 只保护当前连接,使它在启用 maxmemory-clients 后不进入客户端淘汰候选。本文区分客户端淘汰与键淘汰,说明同连接初始化、阈值配置和输出缓冲区边界。411 收藏 -
Redis ZRANGE BYSCORE 按数值 score 筛选,适合排行榜和时间窗口;BYLEX 按 member 的二进制字节顺序筛选,并要求成员使用相同 score。本文用命令、边界符和场景表说明选择方法。411 收藏 -
Redis GEO 附近搜索可用 GEOSEARCH 的 ASC、WITHDIST 和 COUNT 获取距离有序候选,但营业状态、分类、库存等业务条件需结合独立元数据过滤。本文给出 GEO 集合加 Hash、Pipeline 批量读取、过量召回和扩圈补足的完整实现。410 收藏 -
Redis Sentinel 切主后客户端频繁重连,通常要从主观下线、+switch-master 事件、服务发现和连接池旧连接四个边界排查;本文给出一次可回滚的定位路径。409 收藏 -
Redis Stream 消费者在 XREADGROUP 后处理失败,消息会停留在消费组 PEL。本文用 XPENDING 定位 pending,再比较 XCLAIM 与 XAUTOCLAIM 的接管方式,并说明何时 XACK、如何避免短暂延迟造成重复处理。408 收藏 -
用 Redis SLOWLOG LEN 和 SLOWLOG GET 找到慢命令,读懂耗时与参数字段,再根据阈值和容量配置进行安全排查。406 收藏