MST
星途 面试题库

面试题:Redis在与MySQL结合应对大数据量查询场景中的数据缓存策略

在Redis与MySQL结合应对大数据量查询场景时,通常会将部分数据缓存在Redis中。请阐述一下你所了解的常见数据缓存策略,比如哪些数据适合缓存到Redis,以及如何设置缓存的过期时间,以确保既能有效利用缓存提升查询性能,又能保证数据的一致性?
46.7万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

适合缓存到Redis的数据

  1. 高频访问且低频变更的数据:如商品的基本信息(名称、描述等),这类数据在电商平台中被大量用户频繁查看,但修改频率较低。这样可以显著减少对MySQL的查询压力,提升响应速度。
  2. 热门排行榜数据:例如游戏中的玩家排行榜、新闻平台的热门文章排行等。由于这些数据实时性要求并非极高,且查询量巨大,缓存到Redis可快速返回结果。
  3. 配置信息:应用程序的一些配置参数,如网站的默认设置、支付接口的相关配置等。这些信息在应用运行期间基本保持不变,适合缓存。

设置缓存过期时间策略

  1. 根据数据变更频率设置:对于变更频率低的数据,如公司的介绍页面内容,可设置较长的过期时间,比如数天甚至数周。而对于相对较频繁变化的数据,像商品的库存数量,可设置较短的过期时间,例如几分钟。
  2. 使用动态过期时间:结合业务逻辑,通过程序在数据发生变更时,动态调整缓存的过期时间。例如,当商品进行促销活动时,根据活动的剩余时间来动态设置该商品缓存的过期时间。
  3. 随机过期时间:为避免大量缓存同时过期导致MySQL瞬间压力过大,对于类似的数据(如不同地区的热门资讯缓存),设置一个随机范围的过期时间,如在5 - 10分钟之间随机选择。这样可以分散缓存过期的时间点,减轻数据库的突发负载。