Redis技术文章
-
Redis Stream 消费组中的消息如果长时间没有 XACK,可以通过 PEL、XPENDING 和 XCLAIM 转给新消费者。本文说明超时认领、幂等处理、XACK 闭环与重复认领边界。500 收藏 -
Redis Stream 的 NOACK 让新读取消息不进入 PEL,却不能保证业务成功。本文给出消费组命令和两组对照示例,区分读取、成功与 Pending 计数,说明性能测量方法及丢失容忍边界。498 收藏 -
Redis 7.0 及以上可用 no-writes 注册只读函数,再通过 FCALL_RO 调用并路由到只读副本。本文说明函数声明、numkeys 参数边界、KEYS/ARGV 划分、常见拒绝原因与复制延迟取舍。495 收藏 -
Redis BITPOS 在参数末尾加 BIT 后,会把 start 和 end 当作包含端点的位范围,并返回匹配位的绝对编号。本文说明 BYTE 与 BIT 的区别、首个置位点查询和 -1 返回值的处理方式。495 收藏 -
通过MSET和LMOVE示例说明Redis COMMAND GETKEYS如何从完整命令提取键名,并对比GETKEYSANDFLAGS的用途标志、客户端参数边界与接入注意事项。492 收藏 -
讲清 Redis Cluster 中多 key Lua 的同槽条件:用 hash tag 设计相关 key,正确区分 EVAL 的 KEYS 与 ARGV,并用 CLUSTER KEYSLOT 做发布前检查。491 收藏 -
Redis SORT_RO 的 GET 不是再次执行查询,而是按排序结果中的成员替换键名模式,读取外部对象字段。本文用 order:ids、order:item:* 和 order:weight:* 说明 BY、GET、GET #、LIMIT 以及缺失字段的返回边界。491 收藏 -
Redis Array 用整数索引保存可稀疏分布的字符串,随机访问不受逻辑长度影响。本文通过 ARSET、ARGET、ARLEN、ARCOUNT 与 ARSCAN 说明建模方式、读取边界和兼容性取舍。490 收藏 -
Redis 的 XADD 默认会在 key 不存在时创建 Stream;NOMKSTREAM 可以禁止这次隐式创建,并用空返回提醒调用方先完成初始化。489 收藏 -
围绕 Redis Stream 的 XTRIM MINID 说明按 ID 截断的保留边界,区分精确与近似裁剪,解释 LIMIT 和消费组引用策略,并给出 XRANGE、XINFO 的复查方法。488 收藏 -
Redis WATCH 在被监视键发生并发修改时让 EXEC 放弃排队事务。用双连接示例说明空回复、连接绑定、重读重算与清理,并区分冲突、命令错误和断线结果未知。486 收藏 -
Redis 广播模式不会天然少发失效消息,它用前缀表替代逐键跟踪。要减少无关通知,应设计稳定且不重叠的键前缀,按客户端缓存域配置 PREFIX,并处理 NOLOOP、连接断开和读写竞态。484 收藏 -
Redis ZSET 按分数查询优先使用 ZRANGE ... BYSCORE,旧版本可用 ZRANGEBYSCORE。本文说明闭区间、开区间、无界范围、倒序、WITHSCORES、LIMIT 和 ZCOUNT 的写法,并解释如何控制返回量。484 收藏 -
Redis Search 可通过 FT.SEARCH 的 TIMEOUT 设置单次查询预算,并结合 search-timeout 默认值和 search-on-timeout 策略判断返回部分结果还是失败。483 收藏 -
Redis Cluster 迁移 hash slot 时,客户端不能把 ASK 和 MOVED 当成同一种重试信号。本文从 MIGRATING、IMPORTING 状态切入,说明 ASK 只重试当前命令、MOVED 才更新槽位映射,并给出带重试上限、多键约束和幂等性边界的客户端设计方法。481 收藏