答:先确认是否达到 maxmemory,还是进程 RSS 超过机器或容器预算。查数据量、碎片、客户端缓冲、复制积压和持久化开销,再决定清理、限流或扩容。
答:用访问计数、最近访问、回源成本及时间窗口确定缓存优先级。热数据缺失时加载,冷数据通过过期或淘汰退出,权威数据保留在原存储。
答:常见有固定窗口计数、滑动窗口、令牌桶和漏桶。固定窗口简单,但边界两侧可能连续通过两批请求。滑动和桶类策略能控制不同形式的突发。
答:先限流,再用原子检查和扣减做快速预占。权威库存仍需条件更新或唯一约束,保证实际订单不会超卖。每次购买带幂等标识。
答:先按业务区分可淘汰缓存、需要持久化的状态与大对象。压缩键和值、限制集合增长和 TTL,再评估分片或把冷数据移出 Redis。
答:常用旁路缓存,写数据库后使缓存失效,读未命中再填充。由缓存层负责加载的读穿、由它同步写后端的写穿,以及先接收再异步落库的写回,各有不同的失败结果。
答:Streams 消费组可跟踪已投递但未确认任务。处理成功再 XACK,处理者失联时把闲置任务交给其他人,失败达到阈值后进入待人工处理或死信流程。
答:控制单次命令工作量、返回量和客户端批次。用分片、分批扫描和流水线摊开网络及 CPU 工作,并观察尾延迟与资源。
答:如果用 Redis 存会话,应选高随机标识和合理 TTL,限制读写权限并通过受保护的连接访问。注销、吊销和续期要有明确业务语义。
答:到期的键在访问时按失效处理。服务器主动清理有时间和工作量预算,未访问的键可能过一会儿才释放,释放后 RSS 也未必立刻下降。