---

title: Elasticsearch请求缓存与查询缓存治理

keywords:

  • request_cache
  • query cache
  • refresh
  • size=0
  • aggregation

description: 区分请求缓存与查询缓存的作用与触发条件,优化聚合与过滤命中率并控制无效缓存。

tags:

  • Elasticsearch
  • aggregation
  • query cache
  • refresh
  • request_cache
  • size=0
  • 性能
  • 数据

categories:

  • 文章资讯
  • 技术教程

---

Elasticsearch请求缓存与查询缓存治理

概览

  • 请求缓存(request cache)在分片级缓存整次搜索结果,适用于 size=0 或仅聚合的查询;在索引 refresh 时失效。
  • 查询缓存(query cache)在段级缓存过滤器结果(位集),提升重复过滤的效率;受 indices.queries.cache.size 控制。
  • 正确设置与观测可提升命中率并避免高成本缓存。

技术参数(已验证)

  • 请求缓存:索引设置 index.requests.cache.enabled 控制;适用于聚合与 size=0;写入/刷新使缓存失效。
  • 查询缓存:集群设置 indices.queries.cache.size(默认内存百分比);缓存过滤器位集;与段生命周期相关。
  • 观测:_nodes/statsindices stats 查看命中/失效;仪表盘中区分两类缓存效果。
  • 治理:避免对高变更索引启用过多请求缓存;对常用过滤使用稳定字段与低基数标签。
  • 兼容:在搜索中合理使用预过滤与路由键;减少跨分片与高基数开销。

实战清单

  • 为报表与看板聚合启用请求缓存;对常用过滤优化查询缓存。
  • 建立命中率与失效观测;在高写入索引上谨慎启用请求缓存。
  • 通过字段治理与索引策略提升缓存效果;持续优化。
  • Importance: 提升聚合与过滤性能并避免无效缓存消耗。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部