Redis技术文章
-
从脚本源码复制与脚本效果复制出发,解释 Redis Lua 写命令、AOF 和 replica 的传播边界,并给出可落地的确定性脚本写法。138 收藏 -
Redis 删除大键时,UNLINK 能让摘链动作快速返回,但内存回收会异步完成。本文说明 UNLINK、lazyfree 配置、回收时机和灰度排查方法。138 收藏 -
围绕 go-redis 的 PoolTimeout、连接回收和 PING 验收,拆解客户端请求超时后连接是否还能复用,以及如何用可观察的检查判断半开连接。137 收藏 -
Redis Cluster 容量规划不能只看节点内存,还要同时看 16384 个槽位的覆盖情况、主节点槽位分布和热点槽位键数。本文用 redis-cli 与 Python 组织一套可复查的统计方法,说明哪些指标能帮助规划,哪些结论不能直接推出。137 收藏 -
Redis Query Engine 为 JSON 建索引时,关键不是把整个对象塞进 schema,而是把 JSONPath 叶子值按查询任务映射为 TEXT、TAG 或 NUMERIC,并用别名稳定查询字段。本文给出字段设计、排序和排查方法。137 收藏 -
Redis TDIGEST.TRIMMED_MEAN 用两个分位点定义保留区间,排除两端观测值后,从 TDigest 摘要中估算区间内均值。本文用 0.05 到 0.95 的例子解释参数顺序、估算性质、O(N) 成本和常见错误。137 收藏 -
Redis Lua 脚本可以把库存读取、条件判断和扣减放进同一次原子执行。本文从 KEYS 与 ARGV 的参数边界出发,给出可返回明确状态码的检查扣减脚本,并说明 redis.call、脚本缓存和多键约束。137 收藏 -
Redis BF.MEXISTS 返回的是按输入顺序排列的布尔数组。本文说明如何用位次把结果映射回原始项,并处理 Bloom Filter 的可能误判、重复值、空输入和批量异常。136 收藏 -
Redis ZREMRANGEBYRANK 按升序 rank 删除有序集合成员,rank 从 0 开始且 stop 包含。本文说明如何保留最高 N 名、读取删除数量,并区分按排名、分数和字典序清理。136 收藏 -
用 Redis INFO commandstats 拆解单命令 CPU 异常,理解 calls、usec、usec_per_call、failed_calls 与采样窗口的关系,并给出可复核的排查流程。135 收藏 -
Redis Cluster 遇到 CROSSSLOT 时,先区分单键 pipeline 的跨节点分发和多键命令的跨槽约束。本文用 CLUSTER KEYSLOT、hash tag、同槽分组和 ClusterClient 示例说明如何拆分,并用批次、槽位、错误数和 P95 验证改造结果。135 收藏 -
Redis 选择 LRU 或 LFU,应先确定可淘汰键范围,再根据热点稳定性建立对照。本文提供单变量切换、配置回退与同窗口观测方法,避免把命中率波动误当策略收益。135 收藏 -
Redis Pub/Sub 适合在线订阅者都能即时收到、允许离线丢失的广播;Redis Streams 适合需要留痕、回放、消费组分工和确认的消息。本文从触发信号、持久化边界、故障处理和告警复盘给出选型方法。135 收藏 -
Redis ACL SAVE 会把当前用户权限保存到外部 ACL 文件,ACL LOAD 则读取并整体加载这份文件。本文用一条迁移工作流说明 aclfile、重启、热加载、CONFIG REWRITE 的边界,以及加载失败时为什么旧配置仍然有效。135 收藏 -
Redis 出现 NOPERM 时,先用 ACL WHOAMI 确认连接身份,再用 ACL GETUSER、ACL DRYRUN 和 ACL LOG 区分命令、键模式与认证问题,最后按最小权限修复。134 收藏