Redis技术文章
-
数据库 · Redis | 2个月前 | Redis · 队列 · 并发控制 · 故障排查 · Sorted Set · redis Sorted Set ZPOPMIN ZMPOP 并发消费 业务顺序
Redis ZMPOP 可以从 Sorted Set 原子取出最小分值成员,但批量弹出后的业务顺序、空结果和多消费者并发仍需要单独设计。本文用 redis-cli 拆开 MIN、COUNT、分值返回和单消费者批处理边界。280 收藏 -
Redis SET 的 NX 决定是否允许写入,EX 负责给成功写入设置新的秒级 TTL,KEEPTTL 则保留已有 TTL。本文用三种迁移场景拆开这些参数的组合边界,避免更新缓存时误续期或误覆盖。280 收藏 -
Redis ZSET 分数相同时不会按插入顺序排列,而是继续按 member 的二进制字节序排序。本文用命令示例说明正反向查询,并给出姓名、序号和时间等业务 tie-break 的设计方法。279 收藏 -
Redis 配置 volatile-lru 却没有淘汰键时,先核对运行时策略和 maxmemory,再用 TTL 检查候选键是否真的带过期时间,最后排查覆盖写抹掉 TTL 的问题。279 收藏 -
Redis Stream 的消息保留可以按数量或消息 ID 控制:MAXLEN 适合固定条数,MINID 适合按时间窗口推进。本文用 XTRIM 和 XADD 示例说明精确、近似裁剪、消费组引用以及上线前的检查边界。279 收藏 -
Redis Lua 脚本返回多条结果时,关键不在于把值塞进 table,而在于分清 KEYS 与 ARGV、避开 nil 截断,并按 RESP2 的数组语义设计客户端解码。278 收藏 -
Redis 8.10 新增 LMOVEM 与 BLMOVEM。本文用 COUNT、EXACTLY、OBO、BULK 四个边界说明如何在非阻塞搬运和等待数据的队列消费者之间做选择。278 收藏 -
Redis GEOSEARCH 可以以给定经纬度或已有成员为中心,用 BYRADIUS 按米、千米等单位筛选地理成员,再用 ASC、COUNT、WITHDIST 和 WITHCOORD 控制排序、数量与返回字段。278 收藏 -
Redis Streams 的 XPENDING 先用摘要查看消费组整体积压,再用扩展形式按消费者筛选消息 ID、空闲时间和投递次数,本文给出参数顺序、常见误区与排查边界。278 收藏 -
Redis SET 可以用 NX 只在 key 不存在时写入,并用 EX 或 PX 同时设置过期时间,适合实现短生命周期幂等锁。本文说明抢锁返回值、唯一 token、安全释放和单实例适用边界。278 收藏 -
把 Redis MEMORY DOCTOR 当作内存问题线索入口,再用 INFO memory 和 MEMORY STATS 区分数据集、历史峰值、分配器碎片及客户端和复制缓冲区,按证据选择治理动作并复测。277 收藏 -
Redis Hash 适合平面字段和字段级读写,Redis JSON 适合嵌套对象、数组和路径级访问。本文从数据形状、更新粒度、查询能力、内存成本与生产迁移边界说明两者如何选择。277 收藏 -
Redis LATENCY HISTOGRAM 可以按命令读取累计延迟分布。本文说明如何筛选命令、解释 calls 与 histogram_usec 时间桶、处理延迟跟踪未启用和统计重置,并给出一份可复用的排查清单。277 收藏 -
Redis 连接池耗尽时,报错常常出现在业务命令而不是建连阶段。本文用 go-redis 的两个连接槽复现等待超时,再结合 CLIENT LIST、PoolStats 和复用检查确定该调池大小还是缩短占用时间。275 收藏 -
Redis ACL 可以用命令类别减少逐条授权的维护成本,但命令权限不等于键和频道权限。本文从只读缓存账号出发,比较类别授权、单命令授权与排除式授权,给出可复查的最小权限组合。275 收藏