Redis技术文章
-
Redis 8.6 新增 HOTKEYS,可以在指定采样窗口内按 CPU 或网络指标找出高频访问键。本文从缓存延迟升高的现场出发,演示 HOTKEYS START、GET、STOP 的最小用法,解释 COUNT、DURATION、SAMPLE 与 SLOTS 的边界,并给出集群分片、误判和上线验收清单。456 收藏 -
EXPIRE 只能让整个 Redis Hash key 过期,不能单独淘汰某个 field。Redis 7.4.0 起可用 HEXPIRE、HPEXPIRE 设置字段级 TTL;旧版本则应按生命周期拆分 key。456 收藏 -
Redis Flex 把 RAM 与 SSD 组合成分层存储后,索引与数据的驻留位置会直接影响查询边界。本文区分自动分层、Redis Search 索引和返回路径,给出大数据集下的选型与查询设计方法。456 收藏 -
Redis 的 MEMORY USAGE 会返回一个键及其值在内存中的字节数,并计入管理开销。本文说明单值键怎样直接测量、聚合类型怎样用默认采样或 SAMPLES 0 估算,以及如何避免把单键结果误读成实例总内存。456 收藏 -
Redis Functions 升级最容易混淆的是 library name、function name 和 Lua 脚本 SHA1。本文用整库替换、脚本兼容窗口和升级检查表,说明如何保持业务调用名稳定。455 收藏 -
Redis UNLINK 只会先把 key 从键空间摘除,真正的对象释放在后台异步完成。本文用 lazyfree 队列、used_memory、RSS 和 MEMORY STATS 建立删除大键后的内存回收判断方法。454 收藏 -
Redis BZPOPMIN 在集合为空时阻塞等待,有成员时弹出最低分项。本文说明超时秒数、多 key 的来源选择顺序,并用独立示例区分队列内最小值与全局最小值,提醒弹出后的任务恢复责任。454 收藏 -
Redis 分布式锁续期失败时,不能只看异常或单独读取 TTL。本文用唯一令牌、原子脚本和 PTTL 区分锁仍由本客户端持有、已被接管与状态未知,并说明安全释放和业务栅栏边界。451 收藏 -
从 ACL CAT 识别实例分类,以最小权限创建业务用户,并用 +@all -@dangerous、键模式和频道模式限制 Redis 危险命令与数据范围。451 收藏 -
Redis 持久化选择要先看可接受的数据丢失窗口,再比较 RDB 快照、AOF 增量日志和 RDB+AOF 组合。本文给出场景边界、fsync 配置和上线前检查清单。451 收藏 -
Redis SETNX 只能完成抢锁,不能单独保证安全释放。本文用订单超时任务拆解误删他人锁的竞态,给出带随机令牌的加锁、续期边界与 Lua 原子释放脚本,并用可复查的命令验收。450 收藏 -
Redis 7.4 的 HEXPIRE 可以只给 Hash 中指定字段设置过期时间,适合拆分会话或临时属性的生命周期。本文用 HSET、HEXPIRE、HPTTL 和 HGETALL 核对 FIELDS 参数、返回值、版本边界与常见误区。450 收藏 -
Redis Lua 脚本接收 ARGV 时,tonumber 可能因为空字符串、非数字或参数位置错误返回 nil,后续计算就会报错或走错分支。本文用一个库存扣减脚本拆开参数校验、默认值边界和线上验收方法。449 收藏 -
本文用 Redis Vector Sets 组织向量、元素标识和轻量属性,说明如何用 VADD、VSIM、FILTER、COUNT 与 FILTER-EF 设计可解释的相似度查询结果。449 收藏 -
Redis Streams 的积压不能只看 XLEN。本文用 XPENDING、XINFO GROUPS 和 XINFO CONSUMERS 区分 pending 与 lag,并给出从现象到根因的排查命令。449 收藏