IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> lru链表以及buffer pool运行机制 -> 正文阅读

[数据结构与算法]lru链表以及buffer pool运行机制

lru链表以及buffer pool运行机制


一、lru链表
lru链表来判断淘汰哪些缓存页,比如说内存不够用了,没有空闲缓存页了,mysql并不能凭空就知道该淘汰哪些缓存页,所以引入了lru链表,将最新更新的缓存页加入到头部,一致没有被访问的缓存页则会慢慢的在最尾部,所以单缓存页不够了,则找最尾部的缓存页释放。
二、buffer pool 预读机制
预读机制就是但是mysql发现,用户访问了很多数据页,回把相邻旁边的数据页也加载的缓存页中。
①、有一个参数innodb_read_ahead_threshold 他的默认值是56,如果顺序访问多个数据页超过了这个阈值,则回把下一个相邻区的所有数据页加载到缓存中。
②、如果Buffer pool里缓存了一个区里的13个连续的数据页,而且这些数据都是比较频繁访问的,此时就会直接触发预读机制,把这个区的其他缓存页都加载到缓存页当中区,这个机制是通过innodb_random_read_ahead来控制的,他默认是OFF的,也就是这个规则默认是关闭的。
那么这样就会有一个问题:普通简单的lru链表每当通过预读加载到缓存页时,回把一些可能并不是热点缓存的加载到链表头部,把当前热点缓存挤下去,回收的时候回收了热点缓存,没有回收没有访问的缓存。
三、lru冷热链表
由于上述问题mysql是使用lru冷热链表解决的。
    lru分热数据和冷数据根据innodb_old_blocks_pct:37% ,来设置,默认是37,表达的含义是冷数据比例是37%
    第一次加载的时候会初始化到冷数据链表头部,innoDB_old_blocks_time:1000,表示刚加入冷数据的链表的缓存页1s之后还被访问了,则会加载的到热数据链表。
    这样的机制就解决的上述的问题,不会一下顶掉热点缓存,先放到冷数据区,1s只有还有用户访问则说明,是热点数据,则加载到热数据头部,而预读过来的缓存页,如果是没有访问的则还是呆在冷数据区域,不会顶到现在热点数据缓存。

lru链表

四、buffer pool运行机制
Buffer Pool数据结构 (2)
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:28:44  更:2021-08-09 10:29:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:34:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码