Redis技术文章
-
Redis 过期键到了时间却没有立刻消失,通常不是 TTL 失效,而是惰性删除与定期采样的工作方式。本文用 TTL、EXISTS 和内存指标区分可见延迟、采样清理与大键风险。164 收藏 -
Redis ZUNIONSTORE 的 AGGREGATE COUNT 可以直接把成员在多个有序集合中的出现次数变成排名分数。本文用主题集合示例说明最小写法、WEIGHTS 边界、降序读取和目标键覆盖问题。164 收藏 -
Redis Stream 尚不存在时,可以在 XGROUP CREATE 后追加 MKSTREAM 自动创建空 Stream。本文说明 $、0-0 和具体消息 ID 的起点差异,并给出 BUSYGROUP 幂等处理与 XREADGROUP 边界。164 收藏 -
Redis COMMAND INFO 可以读取命令的 arity、flags、键位置和 ACL 分类,但 fast/slow 只是粗粒度标志,不能替代精确的 O(...) 复杂度说明。本文给出查询单个、多个命令及未知命令的方式,并说明运行时元数据与官方命令文档的分工。163 收藏 -
Redis 的 EXPIRE 作用在整个 key 上,不能直接给同一个 HASH 的每个 field 设置独立 TTL。本文从用户会话属性和临时状态的场景出发,对比拆 key、时间戳字段、ZSET 索引三种设计,并给出清理任务、并发边界和验收方法。162 收藏 -
用 Redis SETBIT 把每天签到压成位图,重点处理日期偏移、BITCOUNT 统计、重复签到和跨月清理,附可运行示例与核对方法。162 收藏 -
Redis MEMORY USAGE 的 SAMPLES 不是精度百分比,而是嵌套集合成员的采样数量。本文解释默认值、SAMPLES 0、估算波动和容量规划时的取值方法。162 收藏 -
Redis Search 按字段聚合时,用 FT.AGGREGATE 配合 GROUPBY 和 REDUCE 生成分组统计,再用 SORTBY、MAX 和 LIMIT 控制排序范围与分页。162 收藏 -
讲清 Redis 7.0+ SSUBSCRIBE 的 slot 约束,并用 go-redis/v9 展示如何按 hash tag 订阅分片频道。162 收藏 -
用 Redis MEMORY STATS 的 total.allocated、overhead.total 和 dataset.bytes 区分数据集与管理开销,并说明分项、碎片口径和同条件采样的判断方法。162 收藏 -
Redis LCS 的 LEN 只改变返回形式,不能消除输入长度乘积带来的计算成本。本文比较在线调用、独立实例和应用侧任务,给出输入预算与不可变快照的选择条件。162 收藏 -
Redis SUNIONCARD 的 LIMIT 可以在并集计数达到阈值时提前停止,适合只关心是否达标的场景。本文说明参数写法、返回值语义、空键、复杂度和多键部署边界。161 收藏 -
解释 Redis WATCH 监视键在 EXEC 前被修改时为什么返回 nil,并用双客户端示意、有限重试和边界清单处理乐观锁冲突。159 收藏 -
Redis MSETNX 会先判断给出的所有键是否都不存在:全部不存在时一次性创建并返回 1,只要有一个键已经存在就不写入任何键并返回 0。本文从故障现象、最小命令、Go 客户端分支和边界处理说明如何正确使用它。159 收藏 -
Redis向量检索的距离选择应服从模型与预处理约定。本文区分COSINE、IP和L2的长度影响,解释索引字段、KNN与二进制查询参数的职责,给出Python示例,并说明排序方向和阈值不能混用。159 收藏