cache buffer chain

2024-05-13 02:58
文章标签 cache buffer chain

本文主要是介绍cache buffer chain,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**CBC链上存的是buffer_cache中所有块的块头,CBC链的作用就是把buffer_cache中所有块的地址链起来

oracle会通过CBC链得知对应的块是否在内存中。



1、执行:select * from t1 where id=1   oracle通过计算得出这行数据在1号文件24号块中

2、oracle 通过计算知道这个块在2号chain上,去找,发现2号链上没有这个块

3、发生物理IO,把1号文件24号块调去如内存,并把buffer header挂到2号CBC链上,在内存中取出块中的对应数据返回给用户

4、这时我再执行:select * from t1 where id =2,oracle 通过计算得出这行数据在1号文件24号块中,并计算得出这个块应该在2号链上,遍历2号链上的buffer header找到有该块的头,根据头的信息,在内存中找到这个块,取数据返回给用户



buffer cache中有四个链

①CBC

②LRU(MRU)    ---server process              干净和可用块

③LRUW                ---dbwn                                 脏块(也有冷端热端)

④checkpoint  queue        ---按块第一次被脏的时间点串起来












这篇关于cache buffer chain的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984489

相关文章

Spring Cache常见问题解决

目录 一 报错:Null key returned for cache operation 二 报错:类型转换异常 三 取出的数据为null 一 报错:Null key returned for cache operation 这里报错有两种情况: 第一,如果你在新增的方法上使用Cacheable注解,那么肯定是会报这个错误的。 因为Cacheable注解的原理是先根据k

黑马苍穹外卖6 清理redis缓存+Spring Cache+购物车的增删改查

缓存菜品 后端服务都去查询数据库,对数据库访问压力增大。 解决方式:使用redis来缓存菜品,用内存比磁盘性能更高。 key :dish_分类id String key= “dish_” + categoryId; @RestController("userDishController")@RequestMapping("/user/dish")@Slf4j@Api(tags = "

Interleaving Retrieval with Chain-of-Thought Reasoning for ... 论文阅读

Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions 论文阅读 文章目录 Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-S

精通 Node.js 4.x 核心技术之 Buffer【讲师辅导】-曾亮-专题视频课程

精通 Node.js 4.x 核心技术之 Buffer【讲师辅导】—5225人已学习 课程介绍         【会员免费】链接 http://edu.csdn.net/lecturer/585 右侧办理会员卡。办会员卡可咨询 QQ 1405491181 。 会员可免费学习已发布的全部课程,和在会员有效期内讲师新发布的全部课程 ,承诺每个月至少增加价值500元+ 的新课程。这是一套

音视频的Buffer处理

最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告,这个也是我少数最后没搞成功的项目。当时也有点客观原因,当时ST要退出机顶盒市场,所以一切的支持都停了,当时啃他家播放器几十万行的代码,而且几乎没有文档,真的是非常痛苦。后面虽然功能是搞出来了,但是不稳定,持续几次后就会crash。 还记得当时最后到底层ST是用的滑动窗口缓存,双指针,一个写指针和一个读指针,当时我做了一个管道往缓存中

【Web3初识系列】如何连接 Binance Smart Chain通过交易对绘制 k 线?

连接 Binance Smart Chain通过交易对绘制 k 线 安装 web3 pip install web3 连接到 Binance Smart Chain 使用公共的 BSC 节点 URL。 from web3 import Web3# 连接到 BSC 公共节点bsc_url = "https://bsc-dataseed.binance.org/"web3 = Web3

lru_cache装饰器

LRU算法原理 LRU(Least Recently Used)算法是一种缓存淘汰策略。 用于在有限的缓存空间中管理数据对象。 lru_cache用法 Python的缓存(lru_cache)是一种装饰在被执行的函数上,将其执行的结果缓存起来,当下次请求的时候,如果请求该函数的传参未变则直接返回缓存起来的结果而不再执行函数的一种缓存装饰器。 @functools.lru_ca

【C语言】解决C语言报错:Buffer Overflow

文章目录 简介什么是Buffer OverflowBuffer Overflow的常见原因如何检测和调试Buffer Overflow解决Buffer Overflow的最佳实践详细实例解析示例1:字符串操作不当示例2:数组访问越界示例3:未检查输入长度示例4:使用不安全的函数 进一步阅读和参考资料总结 简介 Buffer Overflow(缓冲区溢出)是C语言中常见

JAVA NIO(二) Buffer和Channel

一,基本使用 1, 一个Socket连接使用一个Channel来表示,以前直接操作Socket文件描述符来对读写缓冲区操作,比如读数据到用户空间的一个byte数组,NIO中Channel对这个过程作了封装,其中用户空间的byte数组就类比Buffer。 2,Buffer用于和Channel进行交互。 Channel中的数据总是要先写入到Buffer,或从Buffer读取;

System.Web.Caching.Cache类 缓存 各种缓存依赖

Cache类,是一个用于缓存常用信息的类。HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例。 一、属性 属性说明Count获取存储在缓存中的项数。EffectivePercentagePhysicalMemoryLimit获取在 ASP.NET 开始从缓存中移除项之前应用程序可使用的物理内存百分比。EffectivePrivateBy