缓存命中率:通常来讲,缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。

命中:可以直接通过缓存获取到需要的数据。

不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。

什么情况下适合使用缓存:

  1. 缓存适合"读多写少"的业务场景,反之,使用缓存的意义其实并不大,命中率会很低。

  2. 业务需求决定了对时效性的要求,直接影响到缓存的过期时间和更新策略。时效性要求越低,就越适合缓存。在相同key和相同请求数的情况下,缓存时间越长,命中率会越高。

  3. 对于低并发低流量的应用而言,引入缓存并不会带来性能的显著提升,反而会带来应用的复杂度以及极高的运维成本。

如何提高缓存的命中率:

  1. 通常情况下,缓存的粒度越小,命中率会越高。当缓存单个对象的时候(例如:单个用户信息),只有当该对象对应的数据发生变化时,我们才需要更新缓存或者让移除缓存。当其他地方也需要获取单个用户信息的情况
    可以直接命中缓存,这样更加灵活,缓存的命中率也会更高

  2. 缓存的更新/过期策略也直接影响到缓存的命中率。当数据发生变化时,直接更新缓存的值会比移除缓存(或者让缓存过期)的命中率更高,当然,系统复杂度也会更高。

  3. 缓存的容量有限,则容易引起缓存失效和被淘汰,采用分布式缓存则容易扩展,不同的缓存框架或中间件,其效率和稳定性也是存在差异的。

  4. 应用尽可能的通过缓存直接获取数据,并避免缓存失效,需要在业务需求,缓存粒度,缓存策略,技术选型等各个方面去通盘考虑并做权衡,
    尽可能的聚焦在高频访问且时效性要求不高的热点业务上,通过缓存预加载(预热)、增加存储容量、调整缓存粒度、更新缓存等手段来提高命中率。

缓存命中率是什么,如何提高缓存命中率?相关推荐

  1. mysql query cache 命中率_MySQL缓存命中率概述及如何提高缓存命中率

    MySQL缓存命中率概述 工作原理: 查询缓存的工作原理,基本上可以概括为: 缓存SELECT操作或预处理查询(注释:5.1.17开始支持)的结果集和SQL语句: 新的SELECT语句或预处理查询语句 ...

  2. PHP提高redis命中率,怎么提高redis缓存命中率

    缓存命中率的介绍 命中:可以直接通过缓存获取到需要的数据. 不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作.原因可能是由于缓存中根本不存在,或者缓存已经过期. 通常来讲 ...

  3. 如何提高缓存命中率(Redis)

    缓存命中率的介绍 命中:可以直接通过缓存获取到需要的数据. 不命中:无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作.原因可能是由于缓存中根本不存在,或者缓存已经过期. 通常来讲 ...

  4. mysql 加快命中_合理配置MySQL缓存 提高缓存命中率

    众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍.故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率.MySQL数据库也不例外.在这里,笔者 ...

  5. 合理配置MySQL缓存 提高缓存命中率

    众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍.故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率.MySQL数据库也不例外.在这里,笔者 ...

  6. mysql提高缓存_合理配置MySQL缓存 提高缓存命中率

    众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍.故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区 域),来提高系统的运行效率.MySQL数据库也不例外.在这里,笔 ...

  7. 华为云CDN如何提高缓存命中率

    背景信息 CDN缓存命中率低,会导致源站压力大,静态资源访问效率低.您可以针对导致CDN缓存命中率低的具体原因,选择对应的优化策略,来提高CDN的缓存命中率.CDN缓存命中率包括流量命中率和请求命中率 ...

  8. 对提高squid命中率的一些研究

    对提高squid命中率的一些研究 如何提高Squid的命中率是很多linux管理员比较头疼的问题,比如说在refresh_pattern这参数后面加入ignore-no-cache ignore-pr ...

  9. 掌握分布式环境缓存更新策略,提高缓存与数据库双写一致性!

    概述 随着时代的发展,服务系统架构也已经由最初的单体架构转变为分布式.微服务架构模式. 从数据体量上来看,各系统存储的数据量越来越大,数据的查询性能越来越低. 此时,就需要我们不断的进行优化,最常用的 ...

最新文章

  1. MySQL性能结构优化原理(技术核心)
  2. 嵌入式C语言查表法的项目应用
  3. 模型参数优化(四):交叉验证、网格搜索
  4. 从人生(论文)的数量追求人生的质量
  5. flink报错:Error: Static methods in interface require -target:jvm-1.8 已解决
  6. 一、详细Python3.8+PyQt5+pyqt5-tools+Pycharm配置
  7. Redis Cluster集群的搭建与实践[转]
  8. 如何使用纯CSS3来生成家谱(family tree)
  9. 2025.wireshark工具使用
  10. 力扣——查找常用字符
  11. 系列文章--WF学习资料汇总
  12. 通用浏览器插件技术概况与分析
  13. ps哪个版本自带Camera Raw插件,怎么开启?
  14. css特殊符号编码大全
  15. pc端怎么发微信朋友圈(有照片的)?
  16. 2021查询高考成绩提前批分数线,快看看!2021高考部分省市“预测分数线”出炉!两点需要注意...
  17. 苹果8wifi找不到服务器,教大家遇到苹果手机iPhone11搜不到无线网怎么解决
  18. 1.5 mysql练习题37道,做完这些mysql练习题,立马让你进阶。(附答案)
  19. 虚拟机匹配合适的服务器,如何为虚拟机选择合适的服务器硬件?
  20. 【bzoj1123】[POI2008]BLO

热门文章

  1. 《越狱》中标准美式口语汇总
  2. 含文档+PPT+源码等]精品基于Uniapp+SSM实现的android在线点单系统APP[包运行成功]Java毕业设计Android项目源码
  3. 自动化测试流程以及用例设计
  4. 万向区块链王允臻:区块链如何助力文旅产业元宇宙?
  5. python TypeError: missing 1 required positional argument:'self'
  6. 转:携程机票前台埋点二三事
  7. 数据库学习笔记(1)
  8. ROS修改:ubuntu系统更改默认python版本(重要操作)
  9. 利用银行家算法避免死锁
  10. png怎么批量转换成jpg格式?