Redis技术文章
-
解释 Redis Pipeline 批次过大时命令缓冲、服务端回复队列和客户端结果集如何共同抬高内存,并给出批次估算与分批消费方法。222 收藏 -
本文从广播、离线补读、组内分摊、确认恢复和积压治理比较 Redis Pub/Sub、Streams XREAD 与消费组,并给出选型和迁移清单。220 收藏 -
Redis 的 COMMAND DOCS 可以返回命令的 since、复杂度、参数结构和 ACL 分类。本文用它为客户端做版本兼容探测,区分命令不存在、参数不支持和模块命令,并给出可落地的探测与回归命令。219 收藏 -
Redis 写入成功不等于副本已收到,也不等于 AOF 已落盘。本文用 WAIT 和 WAITAOF 拆开复制确认、AOF 持久化确认、超时返回与故障切换边界,给出 redis-cli 验收命令和业务侧选型清单。218 收藏 -
Redis Cluster 遇到 CROSSSLOT 时,先用 CLUSTER KEYSLOT 找出不同槽位,再用业务 ID hash tag 重构相关 key,并评估迁移与热点风险。218 收藏 -
从 AOF 多部分文件、fork 与 Copy-on-Write、fsync 和 INFO persistence 指标入手,说明重写期间磁盘增长与延迟抖动的来源,并给出配置和排查方法。218 收藏 -
Redis Lua 的优势是减少网络往返并保持原子性,代价是脚本运行期间会占用主线程。本文用有界循环、KEYS/ARGV、SLOWLOG、延迟历史和脚本缓存调用,给出一套可执行的收敛与拆分判断方法。216 收藏 -
Redis TTL 返回 -1 表示键存在但没有过期时间,-2 表示键不存在。本文用命令和 Go 分支示例区分三种状态,并排查普通 SET 覆盖、过期窗口和查询上下文不一致等常见原因。216 收藏 -
Redis ZINTERCARD 的 LIMIT 用于限制交集基数计算量:达到阈值即可提前结束,精确统计则使用默认无限制语义,并注意空 key、复杂度和集群多 key 边界。216 收藏 -
Redis 6.2 及以上可用 GETDEL 原子读取并删除字符串键,适合一次性登录令牌、确认码等场景。本文说明命中、空值、类型错误、旧版本 Lua 兼容和 TTL 边界。215 收藏 -
Redis ACL 的 key pattern 仍放行意外键,通常不是一个窄规则失效,而是旧的 ~*、selector、glob 范围或无 key 参数命令共同造成。本文用 ACL GETUSER、ACL DRYRUN 和 reset 重建方法定位并修正。215 收藏 -
数据库 · Redis | 1个月前 | Redis · 缓存 · 运维 · redis maxmemory maxmemory-policy volatile-lru noeviction allkeys-lfu
Redis 达到 maxmemory 后,volatile-lru、allkeys-lfu 和 noeviction 的行为并不相同。本文用一组可复核的键、命令和 INFO 指标,说明如何按数据是否允许淘汰来选择策略,并识别写入失败边界。213 收藏 -
Redis 向量检索变慢时,不要只看总耗时。本文用 FT.PROFILE 拆开 VECTOR 迭代器、过滤模式、距离计算和结果处理器,给出可复现的排查顺序与调参边界。212 收藏 -
Redis LCS 不只是返回两段文本的最长公共子序列,还能用 IDX 找到两边的匹配区间。本文用配置版本对比说明 LEN、IDX、MINMATCHLEN 和 WITHMATCHLEN 的结果结构、顺序陷阱与生产边界。208 收藏 -
本文对比 Redis SLOWLOG 与 LATENCY DOCTOR 的记录范围、阈值单位和排查顺序,给出从延迟事件到具体慢命令的实战判断方法。208 收藏