02 2025 档案

摘要:MySQL 磁盘 I/O 次数过高时优化的办法 事务提交时,需要将 Redo Log 和 Binlog 持久化到磁盘中,可以通过四个参数,来控制刷盘时机,以降低磁盘 I/O 的频率。 组提交的两个参数 binlog_group_commit_sync_delay:控制事务提交前的最大等待时间。 bi 阅读全文
posted @ 2025-02-22 11:27 SlackClimb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:两阶段提交 为什么需要两阶段提交? 事务提交后,Redo Log 和 Binlog 都要持久化到磁盘中,但是这两个是独立的逻辑,可能会出现半成功状态,造成两种日志之间的逻辑不一致。 1.1. 半成功状态 Redo Log 成功持久化,而 Binlog 失败 如果在将 Redo Log 刷入到磁盘后, 阅读全文
posted @ 2025-02-22 11:22 SlackClimb 阅读(11) 评论(0) 推荐(0) 编辑
摘要:Binlog(Binary Log,归档日志) 为什么需要 Binlog? Binlog 是 MySQL 中的二进制日志,用于记录数据库的所有写操作(INSERT、UPDATE、DELETE 等) 1. 主从复制 作用:是 MySQL 主从复制的核心,主库将 Binlog 发送给从库,从库重放这些操 阅读全文
posted @ 2025-02-21 23:08 SlackClimb 阅读(100) 评论(0) 推荐(0) 编辑
摘要:​ Redo Log(重做日志) 为什么需要 Redo Log? 1. 崩溃恢复 数据库崩溃时,系统通过 Redo Log 来恢复尚未写入磁盘的数据。Redo Log 记录了所有已提交事务的操作,系统在重启后会重做这些操作,以保证数据不会丢失。 ​ 编辑 2. 提高性能 使用 Redo Log 可以 阅读全文
posted @ 2025-02-21 23:04 SlackClimb 阅读(16) 评论(0) 推荐(0) 编辑
摘要:​ Buffer Pool 什么是 Buffer Pool? Buffer Pool 是数据库管理系统(DBMS)中的一块 Cache(内存区域),用来缓存从磁盘中读取到的 Data Pages(数据页)。Data Pages 通常是表中的数据行与索引数据,通过缓存 Data Pages,Buffe 阅读全文
posted @ 2025-02-19 22:04 SlackClimb 阅读(12) 评论(0) 推荐(0) 编辑
摘要:​ Undo Log(回滚日志) 为什么需要 Undo Log? 1. MySQL 的隐式开启事务 自动提交(autocommit = 1) 在默认的自动提交模式下(autocommit = 1),MySQL 在执行每一条增删改语句时会隐式地开启一个独立的事务,并在执行完成后自动提交。 目的 原子性 阅读全文
posted @ 2025-02-19 21:26 SlackClimb 阅读(9) 评论(0) 推荐(0) 编辑
摘要:核心思想 责任链模式(CoR Pattern)是一种行为型设计模式,允许你将请求沿着处理者链进行发送,收到请求后,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 结构 1. Handler(抽象处理者) 定义了所有具体处理者的通用接口,通常包含用于处理请求的单个方法和设置链路上下一个处 阅读全文
posted @ 2025-02-06 18:04 SlackClimb 阅读(284) 评论(2) 推荐(4) 编辑
摘要:核心思想 命令模式(Command Pattern)是一种行为型设计模式,将请求(操作)封装成一个独立对象,从而解耦请求方与接收方,使得命令的执行、撤销、排队等操作更易扩展和灵活。 结构 1. Command(命令接口) 定义一个执行命令的接口,所有具体命令类都需实现此接口。 2. ConcretC 阅读全文
posted @ 2025-02-06 18:02 SlackClimb 阅读(29) 评论(0) 推荐(0) 编辑
摘要:核心思想 享元模式(Flyweight Pattern)是一种行为型设计模式,用于定义一系列算法或策略,将它们封装成独立的类,并使它们可以相互替换,而不影响客户端的代码,提高代码的可维护性和扩展性。 结构 1. Strategy(抽象策略接口) 定义一些列可供替换的算法方法。 2. Concrete 阅读全文
posted @ 2025-02-04 17:39 SlackClimb 阅读(33) 评论(0) 推荐(0) 编辑
摘要:​ 核心思想 模板方法模式(Template Method Pattern)是一种行为型设计模式,定义了一个算法的骨架(模板),将某些步骤延迟到子类中实现(在不修改结构的情况下),以避免代码重复,提高代码复用性,保持算法的结构稳定。 核心: 模板方法:在父类中定义一个算法的骨架(即模板方法),其中包 阅读全文
posted @ 2025-02-04 17:37 SlackClimb 阅读(34) 评论(0) 推荐(0) 编辑
摘要:核心思想 组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式允许客户端以一致的方式对待单个对象和对象集合(容器),这样就可以用相同的方式对待单个对象(叶子节点)和由多个对象组成的集合(组合节点)。 结构 1. Comp 阅读全文
posted @ 2025-02-02 17:39 SlackClimb 阅读(8) 评论(0) 推荐(0) 编辑
摘要:​ 核心思想 享元模式(Flyweight Pattern)是一种结构型设计模式,主要用于减少程序中大量对象的内存消耗。该模式通过共享相同的数据来有效减少内存的使用,适用于对象非常多且可以共享一部分状态的场景。 核心:将对象的内部状态和外部状态分离: 内部状态:存储在享元对象内部的、不会改变的状态, 阅读全文
posted @ 2025-02-02 17:38 SlackClimb 阅读(27) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示