MST

星途 面试题库

面试题:ElasticSearch近实时搜索缓存优化之缓存策略基础

在ElasticSearch近实时搜索中,常见的缓存优化策略有哪些?请简要阐述每种策略的原理和适用场景。
37.8万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

1. 文档缓存

  • 原理:将经常查询的文档直接缓存起来,当再次请求相同文档时,可直接从缓存获取,无需再次从 ElasticSearch 索引中检索。
  • 适用场景:适用于文档更新频率较低,且对特定文档的查询频率非常高的场景,如一些基础信息类文档,像产品介绍、公司基本信息等。

2. 结果集缓存

  • 原理:缓存查询返回的结果集。当相同查询再次发起时,直接返回缓存中的结果,避免重复执行查询和计算。
  • 适用场景:适用于查询条件固定,查询结果相对稳定的场景,例如一些固定报表类的查询,其查询参数和逻辑不变,结果短期内不会改变。

3. 分片级缓存

  • 原理:在 ElasticSearch 的分片级别进行缓存,每个分片维护自己的缓存。查询时,首先检查分片缓存中是否有对应数据,有则直接返回。
  • 适用场景:适用于集群环境下,各分片数据访问相对独立且有一定重复查询的场景,有助于减少跨分片的数据检索,提高查询效率。

4. 预热缓存

  • 原理:在系统启动或特定时机,主动将一些热点数据预先加载到缓存中,使得后续实际查询时能直接从缓存获取数据。
  • 适用场景:适用于有明显热点数据模式,且可以预先知道哪些数据会被频繁访问的场景,比如电商平台每天固定时段的热门商品查询,可在营业前预热热门商品数据。