缓存热点问题解决方案
问题描述:同一时间访问同一个缓存key的请求数量过高,导致某台特定的redis服务器压力过大,而其他的redis服务器没有分担到压力。
举例说明:店铺活动查询的时候缓存key为店铺编码,value为店铺能够参加的活动编码信息,某个时候店铺搞活动瞬时redis访问命令数飙升,热点key 所在的redis服务器压力瞬间飙升。
解决方案:
1、热点数据推送到jvm内存,内存有则直接访问内存,内存不存在再去访问缓存
2、加随机数,将一份redis缓存数据通过key后面加随机数的方式生成多份分别分散到不同的redis服务器上,访问的时候随机访问其中的一份。