面试题答案
一键面试适合缓存到Redis的数据
- 高频访问且低频变更的数据:如商品的基本信息(名称、描述等),这类数据在电商平台中被大量用户频繁查看,但修改频率较低。这样可以显著减少对MySQL的查询压力,提升响应速度。
- 热门排行榜数据:例如游戏中的玩家排行榜、新闻平台的热门文章排行等。由于这些数据实时性要求并非极高,且查询量巨大,缓存到Redis可快速返回结果。
- 配置信息:应用程序的一些配置参数,如网站的默认设置、支付接口的相关配置等。这些信息在应用运行期间基本保持不变,适合缓存。
设置缓存过期时间策略
- 根据数据变更频率设置:对于变更频率低的数据,如公司的介绍页面内容,可设置较长的过期时间,比如数天甚至数周。而对于相对较频繁变化的数据,像商品的库存数量,可设置较短的过期时间,例如几分钟。
- 使用动态过期时间:结合业务逻辑,通过程序在数据发生变更时,动态调整缓存的过期时间。例如,当商品进行促销活动时,根据活动的剩余时间来动态设置该商品缓存的过期时间。
- 随机过期时间:为避免大量缓存同时过期导致MySQL瞬间压力过大,对于类似的数据(如不同地区的热门资讯缓存),设置一个随机范围的过期时间,如在5 - 10分钟之间随机选择。这样可以分散缓存过期的时间点,减轻数据库的突发负载。