Redis技术文章
-
Redis 平均延迟正常并不代表尾部请求没有抖动。本文用 LATENCY HISTOGRAM 查看命令级累计耗时分布,说明 latency-tracking 的开关、微秒桶和 +Inf 边界,再用调用量与实例时间窗口完成一次可复核的延迟核对。339 收藏 -
Redis Cluster 使用分片 Pub/Sub 后,频道是否活跃、订阅者到底在哪个节点,不能再只看 PUBSUB CHANNELS。本文用 PUBSUB SHARDCHANNELS、SHARDNUMSUB 和节点范围核对分片频道,拆开模式匹配、活跃定义与故障排查边界。228 收藏 -
Redis 内存使用量下降后,RSS 仍然居高不下,通常要把 allocator_frag_ratio、used_memory 与进程峰值放在一起看。本文从 INFO memory 的真实字段建立判断顺序,区分内存碎片、峰值残留和回收未完成,并给出验证与处理边界。261 收藏 -
用 Redis ZSET 的 score 表示到期时间,拆清轮询频率、ZPOPMIN 原子取出、重复消费和故障恢复边界,给出一套可落地的延迟任务实现方案。232 收藏 -
Redis 过期键到了时间却没有立刻消失,通常不是 TTL 失效,而是惰性删除与定期采样的工作方式。本文用 TTL、EXISTS 和内存指标区分可见延迟、采样清理与大键风险。164 收藏 -
Redis SINTERCARD 只返回多个集合的交集数量,不传输成员列表,适合做资格预检、标签重合度判断和批量过滤。本文从最小可运行示例开始,核对返回值、LIMIT 提前停止、键类型错误与 Redis Cluster 的同槽边界。331 收藏 -
Redis GEOSEARCH 适合做附近门店、配送站点和地理围栏的初筛,但经度纬度顺序、米与千米单位、BYRADIUS 与 BYBOX、排序和边界结果都容易写错。本文用一组可复现的门店数据说明查询写法、结果核对与生产边界。489 收藏 -
Redis 的 LFU 淘汰并不是精确统计访问次数,而是用概率计数器配合衰减周期估算热点。本文从 allkeys-lfu 的工作边界出发,解释 lfu-log-factor、lfu-decay-time 如何影响判断,并给出可复现的验收步骤与误判处理方法。101 收藏 -
Redis 7.0 引入的 SPUBLISH 和 SSUBSCRIBE 会把消息限制在频道对应的集群分片内,适合降低普通 Pub/Sub 的跨节点扩散。本文从频道哈希、订阅连接和返回值入手,给出一组可复查的消息验收方法。119 收藏 -
Redis 7 之后可以把 Lua 逻辑注册为函数,再用 FCALL 按函数名调用。本文从一个原子更新场景出发,拆清 numkeys、KEYS、ARGV、FCALL_RO 和集群迁移的边界。460 收藏 -
Redis OBJECT ENCODING 能直接看到键当前采用的内部编码。本文从内存上涨现场出发,用字符串、Hash 和 Set 的实际命令核对 embstr、listpack、hashtable 等编码,解释压缩阈值变化、自动升级条件和生产复查边界。233 收藏 -
Redis ZMPOP 适合把多个有序集合里的最高分或最低分成员一次取出并删除。本文用分片排行榜消费场景说明 COUNT、空结果、原子性、集群同槽和失败重试边界。330 收藏 -
Redis 在生成 RDB 快照时可能因 fork 和写时复制出现延迟抖动。本文从慢查询时间线、INFO persistence 指标和内存峰值入手,给出判断、避让与回滚方法。176 收藏 -
Redis ACL 不只是给用户加密码,还要把命令类别、键名范围和连接验证一起收紧。本文用 SETUSER 配置一个只读报表账号,核对 ACL LIST、ACL DRYRUN 与真实连接的权限边界。234 收藏 -
Redis Cluster 返回 MOVED 或 ASK 时,客户端都需要重定向,但两者代表的槽位状态并不相同。本文用槽位迁移现场拆开路由缓存、ASKING、重试次数和故障排查边界,帮助判断哪些响应可以自动跟随、哪些情况应该先查集群状态。191 收藏