广告
返回顶部
首页 > 资讯 > 数据库 >Ask Hoegh中buffer cache和buffer有什么区别
  • 824
分享到

Ask Hoegh中buffer cache和buffer有什么区别

2024-04-02 19:04:59 824人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关Ask Hoegh中buffer cache和buffer有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

这期内容当中小编将会给大家带来有关Ask Hoegh中buffer cache和buffer有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

问:

oracle数据库的SGA包含db block buffer cache和redo buffer等组件,那么,同样属于内存,buffer cache和buffer有区别吗?

答:首先我们对比一下db block buffer cache和redo buffer的概念和功能。

buffer cache,其中文名称为缓冲器高速缓冲存储器。按照oracle官方的说法,buffer cache就是一块含有许多数据块的内存区域,而这些数据块主要都是数据文件里的数据块内容的拷贝。

由于buffer cache位于物理文件系统和块设备驱动程序之间,因此,当物理文件系统需要从块设备上读取数据时,它首先试图从buffer cache中去读。如果命中,则内核就不必在去访问慢速的块设备。否则如果命中失败,也即数据不在buffer cache中,则内核从块设备上读取相应的数据块,并将其在buffer cache中缓存起来,以备下次访问之用。
类似地,但物理文件系统需要向块设备上写数据时,也是先将数据写到相应的缓冲区中,并将这个缓冲区标记为脏(dirty),然后在将来的某些时候将buffer cache中的数据真正地回写到块设备上,或者将该缓冲区直接丢弃。从而实现减少磁盘写操作的频率。
redo buffer,又叫Redo Log Buffer,是SGA中一段保存数据库修改信息的缓存。这些信息被存储在重做条目(Redo Entry)中,重做条目中包含了由于INSERT、UPDATE、DELETE、CREATE、ALTER或DROP所做的修改操作而需要对数据库重新组织或重做的必须信息。在必要时,重做条目可用于数据库恢复。重做条目是Oracle数据库进程从用户内存中拷贝到Redo Log Buffer中去的。重做条目在内存中是连续相连的。后台进程LGWR负责将Redo Log Buffer中的信息写入到磁盘上活动的重做日志文件(Redo Log File)或文件组中去的。参数LOG_BUFFER决定了Redo Log Buffer的大小。

接下来,我们在对比一下buffer和cache的概念。

缓存(cache)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。 
缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写如磁盘),也可以通过sync命令手动清空缓冲。 

两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的
从以上两组概念对比,我们就不难理解buffer cache和buffer的区别了。

上述就是小编为大家分享的Ask Hoegh中buffer cache和buffer有什么区别了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: Ask Hoegh中buffer cache和buffer有什么区别

本文链接: https://www.lsjlt.com/news/67951.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Ask Hoegh中buffer cache和buffer有什么区别
    这期内容当中小编将会给大家带来有关Ask Hoegh中buffer cache和buffer有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 ...
    99+
    2022-10-19
  • Linux中内存buffer和cache有什么区别
    小编给大家分享一下Linux中内存buffer和cache有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!细心的朋友会注意到,当你在linux下频繁存取文...
    99+
    2023-06-13
  • Cache 和 Buffer 的区别是什么
    这篇文章主要为大家分析了Cache 和 Buffer 的区别是什么的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Cache 和 Buffer 的区别是什么”...
    99+
    2023-06-04
  • Oracle中Cache和Buffer有哪些区别?
    本篇内容主要讲解“Oracle中Cache和Buffer有哪些区别?”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle中Cache和Buffer有哪些区...
    99+
    2022-10-18
  • linux中buffer和cache的区别有哪些
    本文小编为大家详细介绍“linux中buffer和cache的区别有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“linux中buffer和cache的区别有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • mysql中的Cache和Buffer的区别是什么
    mysql中的Cache和Buffer的区别是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。mysql Cache和Buffer区别有...
    99+
    2022-10-18
  • Linux内存buffer和cache的区别是什么
    这篇文章主要介绍“Linux内存buffer和cache的区别是什么”,在日常操作中,相信很多人在Linux内存buffer和cache的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内存...
    99+
    2023-06-16
  • Java NIO中Buffer缓冲区有什么用
    这篇文章主要介绍Java NIO中Buffer缓冲区有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Buffer 简介Java NIO 中的 Buffer 用于和 NIO 通道进行交互。数据是通道...
    99+
    2023-06-29
  • java中 ${} 和 #{} 有什么区别
    目录前言1.功能不同1.1 ${} 的问题2.使用场景不同3.安全性不同3.1 使用 ${} 实现用户登录3.2 使用 #{} 实现用户登录总结前言 ${} 和 #{} 都...
    99+
    2022-11-13
  • MyBatis中的#{}和${}有什么区别
    这篇文章主要介绍了MyBatis中的#{}和${}有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在MyBatis 的映射配置文件中,动态传递参数有两种方式:#{...
    99+
    2023-06-21
  • Java中==和equals有什么区别
    本文小编为大家详细介绍“Java中==和equals有什么区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中==和equals有什么区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。== 是 Java...
    99+
    2023-06-27
  • python中“==”和“is”有什么区别
    本篇内容主要讲解“python中“==”和“is”有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中“==”和“is”有什么区别”吧!“==” 和 “is”之间有什么区别?“...
    99+
    2023-06-27
  • Delphi7中StretchBlt和StretchDIBits有什么区别
    在Delphi 7中,StretchBlt和StretchDIBits都是用于图像缩放的函数。它们的主要区别在于使用的图像格式和底层...
    99+
    2023-09-13
    Delphi7
  • java中a++和++a有什么区别
    在Java中,a++和++a是一种增量运算符,都用于递增变量a的值。它们的区别在于:1. a++是后缀递增运算符,先使用a的当前值,...
    99+
    2023-10-12
    java
  • c#中EnableViewState和ViewStateMode有什么区别
    在C#中,EnableViewState和ViewStateMode都与页面的视图状态(ViewState)相关,但它们有一些区别。...
    99+
    2023-10-24
    c#
  • MySQL中CHAR和NCHAR有什么区别?
    CHAR 和 NCHAR 都是固定长度字符串数据类型。它们有以下区别 -CHAR 数据类型NCHAR 数据类型它的全名是 CHARACTER。它的全名是 NATIONAL CHARACTER它使用 ASCII 字符集它使用 Unicode ...
    99+
    2023-10-22
  • iOS中containsString和rangeOfString有什么区别
    在iOS中,containsString和rangeOfString都是用于判断字符串中是否包含某个子字符串的方法,但它们有一些区别...
    99+
    2023-10-22
    iOS
  • java中arraylist和linkedlist有什么区别
    ArrayList和LinkedList都是Java中常用的集合类,它们的主要区别如下: 底层数据结构不同:ArrayList底...
    99+
    2023-10-26
    java
  • python中apply和transform有什么区别
    这篇文章将为大家详细讲解有关python中apply和transform有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、...
    99+
    2023-06-15
  • jquery中css()和attr()有什么区别
    这篇文章给大家介绍jquery中css()和attr()有什么区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。jquery中有attr()和css()两种方法:attr是attribute的缩写,意思是标签属性。cs...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作