Redis 性能调优
面试官问:"Redis 性能怎么调优?"
小张说:"加内存,用集群。"
面试官追问:"那命令层面呢?有没有需要注意的?"
小张说:"...用短 key?"
面试官继续追问:"哪些命令要慎用?为什么?"
小陈答不上来。
Redis 性能调优是生产环境中的高频问题。这道题能说清楚多个层面调优策略的候选人,对 Redis 生产运维有系统经验。
一、网络层优化 🔴
1.1 连接配置
1.2Pipeline 优化
二、命令层优化 🔴
2.1 避免 O(n) 命令
2.2 SCAN 替代 KEYS
2.3 ❌ 错误示范
候选人原话:"SCAN 和 KEYS 差不多,都是查 key。"
问题诊断:完全不同。KEYS 阻塞 Redis 并一次性返回所有结果;SCAN 分批返回,增量遍历,不阻塞。
【面试官心理】 这道题我会问"哪些命令要避免在生产环境使用"。能说出 KEYS、FLUSHALL、SMEMBERS 的人,是踩过坑的候选人。
三、数据结构优化 🟡
3.1 选择合适的数据结构
3.2 字符串压缩
四、持久化优化 🟡
4.1 持久化配置
4.2 关闭持久化
五、监控与诊断 🟡
5.1 关键监控指标
5.2 Redis Benchmark
六、生产调优 Checklist 🟢
【面试官心理】 Redis 性能调优是生产环境中的综合问题。能从网络、命令、持久化、内存多个层面说清楚调优策略的候选人,说明他对 Redis 生产运维有系统经验。