如何解决Redis缓存单机热点问题?

242 阅读1分钟

分析&回答

发现热点 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 加一个随机后缀。


喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!