Redis技术文章
-
Redis 删除大键时,UNLINK 能让摘链动作快速返回,但内存回收会异步完成。本文说明 UNLINK、lazyfree 配置、回收时机和灰度排查方法。138 收藏 -
Redis LFU 用概率计数和按需衰减适应热点变化。本文解释 lfu-decay-time、增长因子与采样的区别,给出配置读取、单参数试验和回退方法,并说明 OBJECT FREQ 与同窗口命中率的观察边界。282 收藏 -
Redis ZMPOP 可以从多个有序集合中找到第一个非空 key,再按 MIN 或 MAX 批量弹出成员。本文拆解 COUNT、空集合和返回结构,帮助你写出可预测的优先级取数逻辑。333 收藏 -
用 Redis ZDIFF 取出第一个有序集合独有的成员,说明 WITHSCORES、空结果、ZDIFFSTORE 与 Redis Cluster 多键同槽位边界。186 收藏 -
Redis 8.6 Streams 通过 IDMP 和 IDMPAUTO 支持幂等生产。本文区分生产去重与消费副作用,说明 pid、iid、有限追踪窗口、配置变更及旧客户端兼容边界,并提供原样重试示例。373 收藏 -
Redis Streams 的 XACK 只负责移除消费组的待确认记录,并不会自动让业务副作用幂等。本文用事件 ID、去重记录、确认时机和积压接管,设计一条可重试的消费链路。129 收藏 -
Redis 的 XADD 默认会在 key 不存在时创建 Stream;NOMKSTREAM 可以禁止这次隐式创建,并用空返回提醒调用方先完成初始化。489 收藏 -
用一个最小 redis-cli 示例说明 Redis Streams 消费组的创建、XREADGROUP 新消息读取、PEL 待确认列表、XACK 确认、XPENDING 排查与 BLOCK 阻塞边界。200 收藏 -
用 INFO stats、memory、keyspace 三组指标和时间窗口差值,区分 Redis 的 maxmemory 驱逐、TTL 过期与 noeviction 拒写。360 收藏 -
Redis ZRANGE 分页不能只记住 offset:先理解 score 主排序和同分 member 的字典序,再根据是否允许同分跨页选择 BYSCORE 游标、同分 BYLEX 索引或 rank 分页。435 收藏 -
Redis HRANDFIELD 可以从 Hash 中随机取一个或多个字段。本文区分不带 count、正负 count 与 WITHVALUES 的返回边界,并说明它与 HGETALL、HSCAN 的使用差异。299 收藏 -
Redis pipeline 部分命令失败时,应逐条映射回复,区分命令错误与连接异常造成的未知结果。结合 redis-py 非事务示例,说明错误对象、底层重试、非幂等写入和日志记录的处理范围。213 收藏 -
Redis Cluster 执行 Lua 脚本时,key 未显式声明或多个 key 不在同一 hash slot 都可能触发跨槽错误。本文用 KEYS、ARGV 和 hash tag 设计一套可落地的避免方式。371 收藏 -
Redis SET 可以在一次命令中组合 NX 与 EX 或 PX:只有键不存在时写入,并同时建立过期时间。本文说明返回值、时间单位、锁值和续期边界。228 收藏 -
Redis TTL 的 -1 表示键存在但没有到期时间,-2 表示键不存在。通过独立测试样本和原始整数分类工具,区分移除到期时间与删除键,说明 PTTL 单位、查询竞态及缺失原因的判断限制。223 收藏