mysql中Cache和Buffer有什么区别

分类:编程技术 时间:2024-02-20 15:13 浏览:0 评论:0
0
mysql中Cache和Buffer有什么区别?针对这个问题,本文详细介绍了相应的分析和解答,希望能够帮助更多想要解决这个问题的朋友找到更简单、更容易的方法。

mysql Cache和Buffer的区别是:

Buffer的核心功能是缓冲、软化影响。比如每秒要向硬盘写入100次,那么对系统的影响就会很大,会浪费很多时间忙于处理开始和结束写入这两件事。使用缓冲区暂时存储,每隔10秒写入硬盘。对系统影响很小,写入效率高,生活舒适。大大削弱了冲击力。

Cache的核心功能是加速访问。例如,如果您完成了一个非常复杂的计算并希望下次使用结果,只需将结果保存在容易拿到的地方,这样下次就不用再次计算了。加快数据检索速度。

所以,如果你关注存储系统的话,你会发现硬盘的读写buffer/cache名字是不一样的,分别称为write-buffer读取-缓存。两者的区别已经说得很清楚了。

当然,在很多情况下,两者可以互换使用。例如,许多人实际上使用 memcached 进行读取和写入。很多时候对于非 SQL 数据库也是如此。严格来说,CPU中的L2和L3 Cache也同时用于读取和写入——因为你不能简单地定义CPU是使用它们来读取还是写入。硬盘也是一个典型的例子。缓冲区和缓存都在同一空间中。是缓冲区还是缓存?

但是仔细想想,用cache当缓冲区可以吗?当然,只要缓存驱逐逻辑c控制住,就不会有问题。

使用缓冲区作为缓存怎么样?看来在很特殊的情况下,当可以确定访问顺序的时候,也是可以的。只要想一想你就会明白——根据定义,缓冲区是否需要随机存储?一般不需要。但缓存必须是。所以大多数时候用cache代替buffer是可以的,但反之则限制更大。这在技术上也是缓存和缓冲区之间的关键区别。

补充1:

不要误会Buffer是用来写的,Cache是​​用来读的。我可以使用Buffer来读取吗?当然可以。例如,如果您想批量处理读取而不是全部处理,则可以使用读取缓冲区。当然,你也可以使用缓存来进行写入。比如你的写作具有很高的随意性。哪种场景使用Buffer,哪种场景使用Cache,取决于场景的具体需求。

苏补充2:

不要误解Cache或Buffer一定是内存或者存在于高速介质上的东西。只要速度比较高就可以。我绝对可以在硬盘上存储缓存。例如,某些游戏会在运行时创建预编译的着色器(暴露它们的年龄)。这本质上是存在于慢速硬盘上的缓存,因为读取硬盘仍然比重新编译更快。快的。对于缓冲区来说也是如此。例如,NTFS文件系统有自己的Logging Buffer,它甚至明确拒绝放置在任何易失性缓存中。

关于MySQL中Cache和Buffer的区别问题的答案就分享在这里。希望以上内容能够对大家有所帮助。如果您还有很多疑问,解锁吧,您可以关注行业资讯频道,了解更多相关知识。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > mysql中Cache和Buffer有什么区别

用户评论