分析&回答
发现热点 Key
1、凭借业务经验
预估哪些是热key,其实这个方法还是挺有可行性的。比如某商品在做秒杀,那这个商品的key就可以判断出是热key。缺点很明显,并非所有业务都能预估出哪些key是热key。
2、程序统计
- 在客户端进行收集,缺点就是对客户端代码造成入侵。
- 在Redis代理层进行收集,并非所有的redis集群架构都使用proxy。
- 流量上报、日志采集分析,需要额外的系统处理。
3、Redis 自带功能
- redis 系统监控,monitor命令
- redis热点key发现功能 版本大于 > Redis4.0
解决热点问题
1、利用二级缓存
把热key加载到系统的JVM中,比如ehcache、HashMap等
2、Key 添加随机数
把热点 Key 分布到不同机器,比如给 Key 加一个随机后缀。
喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!