Redis技术文章
-
Redis Client Tracking 不发失效通知时,重点检查物理连接、RESP2/RESP3 通知模型、REDIRECT 目标、跟踪模式和连接重连。439 收藏 -
Redis Cluster 的跨槽排查要从 key slot 入手。本文用 CRC16 mod 16384 解释槽位计算,结合 CLUSTER KEYSLOT、hash tag、CROSSSLOT、MOVED 和 ASK,给出多键命令的定位与键名设计方法。436 收藏 -
Redis Vector Set 使用 VSIM 的 EPSILON 按相似度门槛过滤结果。本文说明 EPSILON 是距离上限,给出相似度阈值换算公式,并区分 COUNT、WITHSCORES、FILTER、EF 与 TRUTH。433 收藏 -
Redis Pipeline 可以通过批量发送命令减少网络往返,但服务端会暂存回复,客户端也会积累待执行命令。本文用 redis-py 分批写入示例,说明如何在延迟收益与客户端、服务端内存边界之间选择批量大小。426 收藏 -
Redis Lua 脚本如何把多个 key 的读取、条件校验和修改放进一次原子执行,并正确使用 KEYS、ARGV、hash tag 与 EVALSHA。423 收藏 -
Redis 大 Key 空间不适合直接使用 KEYS *。本文用 SCAN 游标、MATCH、COUNT 和幂等批处理设计一套可控的遍历流程,并说明重复返回、空批次与动态 keyspace 的边界。422 收藏 -
Redis RESP3 的 Push 帧可以在普通命令回复前后到达。本文比较 RESP2、成熟 RESP3 客户端和自写解析器三种兼容方案,并给出 HELLO 3、Push 分发与 client tracking 的检查方法。415 收藏 -
讲清 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 收藏 -
用 INFO replication 对照主库与副本 offset,结合链路、同步状态和 backlog 覆盖范围,判断 Redis 副本是在追赶、断链还是需要全量同步。402 收藏 -
Redis 8.2 的 XACKDEL 可在一条原子命令中确认并条件删除 Stream 消息。本文说明 KEEPREF、DELREF、ACKED 的区别、返回码判断、批量调用方式及多消费组采用边界。401 收藏 -
从写拆分、读复制和应用本地缓存三个方向缓解 Redis 热点 Key,说明槽位分散、缓存失效、一致性代价以及上线检查方法。397 收藏