Redis技术文章
-
Redis ZRANGE 分页不能只记住 offset:先理解 score 主排序和同分 member 的字典序,再根据是否允许同分跨页选择 BYSCORE 游标、同分 BYLEX 索引或 rank 分页。435 收藏 -
Redis Vector Set 使用 VSIM 的 EPSILON 按相似度门槛过滤结果。本文说明 EPSILON 是距离上限,给出相似度阈值换算公式,并区分 COUNT、WITHSCORES、FILTER、EF 与 TRUTH。433 收藏 -
Redis HyperLogLog 适合用很小的内存估算独立访客数,但它不是精确集合,不能拿来判断某个用户是否已经领取过权益。本文从 PFADD、PFCOUNT、PFMERGE 的实际结果出发,说明误差边界、按天拆分 key 的做法和精确去重的替代方案。432 收藏 -
Redis 事务里的 QUEUED、EXECABORT、EXEC 返回数组和 WATCH 空回复分别代表什么?本文把命令入队、执行报错、事务取消与列表/Streams 工作队列拆开说明,帮助你准确定位错误边界。431 收藏 -
Redis Pipeline 可以通过批量发送命令减少网络往返,但服务端会暂存回复,客户端也会积累待执行命令。本文用 redis-py 分批写入示例,说明如何在延迟收益与客户端、服务端内存边界之间选择批量大小。426 收藏 -
数据库 · Redis | 2星期前 | Redis · Sorted Set · redis sum Max aggregate min WEIGHTS ZINTERSTORE Sorted Set交集
Redis ZINTERSTORE 先用 WEIGHTS 对各个 Sorted Set 的 score 做乘法,再用 AGGREGATE 选择 SUM、MIN 或 MAX 合并交集成员。本文用两个榜单的具体分数拆开参数顺序、结果变化和空交集边界。425 收藏 -
Redis 分布式锁请求超时不等于加锁失败。本文区分请求、业务与租约期限,解释身份比较释放、续租失败、SDK 重试和 fencing 的职责,帮助处理未知结果并防止旧持有者迟到写入。425 收藏 -
Redis MULTI 中要先区分队列阶段错误、WATCH 冲突和执行阶段错误。现代 Redis 的语法或参数错误会让 EXEC 返回 EXECABORT;类型错误可能进入结果数组,其他命令仍会执行。本文给出判断和有限重试边界。423 收藏 -
Redis Lua 脚本如何把多个 key 的读取、条件校验和修改放进一次原子执行,并正确使用 KEYS、ARGV、hash tag 与 EVALSHA。423 收藏 -
Redis 大 Key 空间不适合直接使用 KEYS *。本文用 SCAN 游标、MATCH、COUNT 和幂等批处理设计一套可控的遍历流程,并说明重复返回、空批次与动态 keyspace 的边界。422 收藏 -
Redis BF.RESERVE 的容量不是当前条目数,error_rate 也不是百分数整数。本文按官方参数说明,讲清误判率小数写法、capacity 估算、EXPANSION 扩容和 NONSCALING 固定边界的取舍。421 收藏 -
Redis ZRANGESTORE 可以把 Sorted Set 的排名或分值窗口直接保存到新键,适合把排行榜切片、活动候选集和分页结果短暂落盘。本文用 redis-cli 核对 BYSCORE、REV、LIMIT、返回值与 TTL 边界,说明它和 ZRANGE、ZRANGESTORE 的使用取舍。420 收藏 -
Redis 内存达到 maxmemory 后,淘汰策略决定哪些键先离开。本文从缓存实例的内存告警现场出发,解释 allkeys-lru、volatile-lru、allkeys-lfu 和 noeviction 的适用边界,并给出命中率、淘汰计数与回滚核对方法。420 收藏 -
Redis SMOVE 返回 0 时,通常表示源集合中找不到指定成员,Redis 没有执行移动;如果源键类型不正确,则应通过 error 分支处理。本文用 redis-cli 和 Go 客户端拆开这几个边界。420 收藏 -
Redis LMOVE 同时决定来源列表从左端还是右端弹出,以及目标列表从左端还是右端压入。本文用同一组列表拆解四种方向组合,帮助你写出可预测的队列、栈和列表轮转逻辑。420 收藏