Redis技术文章
-
用 Redis bitmap 按用户和月份记录每日签到,演示 SETBIT、GETBIT、BITCOUNT 的组合,并说明日期偏移、BIT 范围、过期和补签边界。446 收藏 -
用 Redis BITFIELD 把多个小整数放进一个字符串,掌握 # 偏移、GET/INCRBY 顺序以及 WRAP、SAT、FAIL 三种溢出策略,避免紧凑计数器读错或越界。444 收藏 -
Redis Functions 不是把一段脚本临时塞进缓存,而是先加载成数据库里的函数库,再由客户端通过 FCALL 调用。本文用一个库存扣减函数说明 FUNCTION LOAD、显式传入键名、FUNCTION LIST 和重启后的恢复验收边界。443 收藏 -
Redis 8.4 新增 DELEX,可以在服务端按值或摘要条件删除字符串键,避免客户端先 GET、再比较、再 DEL 的并发窗口。本文用旧流程对照 IFEQ、IFNE、IFDEQ、IFDNE 四种条件,拆开返回值、版本兼容、摘要计算和上线验收边界。443 收藏 -
Redis Stream 使用 XTRIM MAXLEN ~ 时,阈值是近似目标而不是硬上限,宏节点边界和 LIMIT 都可能让裁剪后保留少量额外消息。本文用 XLEN、XRANGE 解释结果,并给出精确裁剪与 MINID 的选择方法。441 收藏 -
讲清 Redis ZRANGEBYSCORE 默认闭区间、括号开区间、无限范围、LIMIT 与 ZRANGE BYSCORE 迁移写法。440 收藏 -
围绕 Redis ZSET 的 score 与 member 二级排序,说明如何用复合游标处理同分值成员、排他边界和分页期间的数据变化,避免稳定范围分页中的重复与遗漏。440 收藏 -
Redis Stream 消费组出现消息堆积时,先用 XPENDING 判断待处理消息的数量、最老时间和消费者归属,再用 XAUTOCLAIM 接管超时消息,最后按小批量确认、失败重试和监控恢复顺序处理。439 收藏 -
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 HyperLogLog 适合用很小的内存估算独立访客数,但它不是精确集合,不能拿来判断某个用户是否已经领取过权益。本文从 PFADD、PFCOUNT、PFMERGE 的实际结果出发,说明误差边界、按天拆分 key 的做法和精确去重的替代方案。432 收藏 -
Redis Pipeline 可以通过批量发送命令减少网络往返,但服务端会暂存回复,客户端也会积累待执行命令。本文用 redis-py 分批写入示例,说明如何在延迟收益与客户端、服务端内存边界之间选择批量大小。426 收藏 -
Redis MULTI 中要先区分队列阶段错误、WATCH 冲突和执行阶段错误。现代 Redis 的语法或参数错误会让 EXEC 返回 EXECABORT;类型错误可能进入结果数组,其他命令仍会执行。本文给出判断和有限重试边界。423 收藏 -
Redis Lua 脚本如何把多个 key 的读取、条件校验和修改放进一次原子执行,并正确使用 KEYS、ARGV、hash tag 与 EVALSHA。423 收藏