MST

星途 面试题库

面试题:缓存设计之缓存命中率提升的常见策略

在后端开发的缓存设计中,为提升缓存命中率,常见的策略有哪些?请至少列举三条,并简要说明每条策略的原理。
29.9万 热度难度
后端开发缓存设计

知识考点

AI 面试

面试题答案

一键面试
  • 数据预热
    • 原理:在系统上线或业务启动初期,提前将一些热点数据加载到缓存中。这样当用户请求到来时,这些常用数据已经在缓存里,无需从数据库等后端数据源获取,从而大大提高缓存命中率。例如电商平台在大促前,将热门商品信息预先加载到缓存。
  • 合理设置缓存过期时间
    • 原理:对于不同的数据,根据其变化频率设置不同的过期时间。对于变化不频繁的数据,设置较长的过期时间,减少过期后重新查询数据库的次数;对于变化频繁的数据,设置较短的过期时间,保证数据的实时性。比如新闻资讯类应用,热点新闻可设置较短过期时间,历史新闻可设置较长过期时间。
  • 缓存分层
    • 原理:采用多级缓存结构,如一级缓存使用速度极快但容量有限的内存缓存(如Redis),二级缓存使用容量较大但速度稍慢的分布式缓存。先从一级缓存查找数据,若未命中再从二级缓存查找。如果二级缓存也未命中,才查询数据库。通过这种分层策略,把大量高频访问的数据拦截在速度较快的一级缓存中,提高缓存命中率。例如一些高并发的互联网应用,通过这种方式提升系统性能。
  • 缓存分片
    • 原理:将缓存数据按照一定规则(如哈希算法)分布到不同的缓存节点上。这样可以避免单个缓存节点压力过大,并且当某一节点出现问题时,其他节点仍能正常提供缓存服务。同时,合理的分片策略能使数据均匀分布,减少数据集中在某些节点导致部分缓存空间浪费的情况,提高整体缓存命中率。比如大规模分布式系统中,通过一致性哈希算法对用户数据进行缓存分片。