Redis技术文章
-
从默认 Tracking、BCAST、OPTIN 和 OPTOUT 的职责差异出发,结合 key 前缀、客户端数量、通知成本与重连边界,给出 Redis 客户端缓存模式的选择和最小配置方法。196 收藏 -
用 Redis 8 原生 Vector Set 搭建轻量语义检索:设计向量与元素标识,写入 JSON 元数据,使用 VSIM、FILTER 和 FILTER-EF 过滤结果,并处理维度、类型、量化和迁移边界。195 收藏 -
Redis CF.DEL只能用于确认加入的元素,概率阳性不能代替精确证据。本文结合最小命令、删除资格与交互状态,说明重复加入、并发请求、过滤器重建和结果不确定时的处理边界。195 收藏 -
Redis HyperLogLog 可通过 PFADD 和 PFCOUNT 估算 UV。本文说明稳定访客标识、日期分桶、跨日并集、标准误差与过期策略,并区分趋势看板和精确成员需求。195 收藏 -
Redis RANDOMKEY 在空数据库中返回 nil/null,但抽到名称为空的真实键时返回长度为 0 的普通字符串。本文从命令语义、RESP2/RESP3 编码和 Go 客户端处理三层说明如何区分两种情况。195 收藏 -
本文解释 RediSearch FT.CREATE 的 FILTER 如何在建索引时筛选文档,区分 PREFIX、字段表达式、@__key 与查询阶段过滤,并说明初始扫描和后续变更的边界。194 收藏 -
Redis Stream 消费组的消息长时间未确认时,先用 XPENDING 判断空闲时间,再用 XAUTOCLAIM 分页接管,完成幂等业务后用 XACK 结束消息生命周期。193 收藏 -
Redis EXPIRETIME 返回键的绝对过期 Unix 时间戳,适合核对 EXPIRE 与 PEXPIREAT 写入的最终时间。文章用 TTL、PEXPIRETIME 和服务器时间对照,排查秒毫秒混用、时钟偏差、无过期键和恢复后的判断错误。192 收藏 -
Redis ZSet 适合按时间分拣延迟任务,但先用 ZRANGEBYSCORE 读取、再用 ZREM 删除会留下并发抢占窗口。本文从两个 worker 同时取到同一 job_id 的现场出发,说明如何用 Lua 把筛选与删除放进一次原子操作,并保留重复执行与故障恢复边界。192 收藏 -
Redis XREADGROUP 读不到新消息时,先区分 >、数字 ID 与 BLOCK 的职责:前者选择组的新消息或当前消费者的 pending 历史,BLOCK 只控制等待时间。本文再用 XPENDING、XACK 和 XAUTOCLAIM 排查确认与故障接管。192 收藏 -
Redis Cluster 返回 MOVED 或 ASK 时,客户端都需要重定向,但两者代表的槽位状态并不相同。本文用槽位迁移现场拆开路由缓存、ASKING、重试次数和故障排查边界,帮助判断哪些响应可以自动跟随、哪些情况应该先查集群状态。191 收藏 -
Redis AOF 重写时磁盘占用变大,通常不是数据瞬间翻倍,而是旧 AOF、新 base 文件和重写期间新增写入同时存在。本文用 Redis 7 多段 AOF 结构、INFO persistence、du 与 df 命令定位空间峰值,并给出生产容量检查清单。191 收藏 -
Redis SCAN 的 COUNT 只是遍历工作量提示,不保证每轮返回固定数量。本文解释游标结束条件、MATCH/TYPE 过滤、空批次与重复键,并给出 COUNT 的场景化选择方法。191 收藏 -
Redis HSETNX 用原子方式初始化 Hash 字段:字段不存在时写入并返回 1,已存在时保持原值并返回 0。本文用 redis-cli 和 Go 客户端拆解返回值、重复调用、错误类型与适用边界。191 收藏 -
Redis OBJECT FREQ 返回的是 LFU 使用的对数近似计数,不是精确访问总数。本文说明概率递增、衰减、配置项和监控边界。190 收藏