- 简介
- 目录大纲
- 最新文档
- 文集下载
Redis数据类型
如无特殊说明,本文内容针对的 Redis 版本为 3.0.0,源码下载地址为redis-3.0.0。 1 前言 Redis 的 key 是顶层模型,他的 value 是扁平化的,所有的 value 都是一个 object,它的结构如下: c++ typedef struct redisObject { unsigned [type] 4; unsigned……
ricear - 2024年1月20日 16:40
事务的概念和特性
## 事务的概念 数据库中的事务是一个操作序列,包含了一组数据库操作命令。 事务把这一组命令作为一个整体一起向系统提交或撤销操作请求,即这一组命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。 事务的特性 注:如果没有特别说明,下面的事物的特性的原理指的都是MySQL的InnoDB引擎。 事务具有 4 个特性,即原子性(Atomicity)、一致性(Consistency……
ricear - 2022年8月14日 21:38
MVCC实现原理
含义 MVCC 是在并发访问数据库时,通过对数据做多版本管理,避免因为写锁的阻塞而造成数据的并发阻塞问题。 通俗的讲就是 MVCC通过保存数据的历史版本,根据比较版本号来处理数据的是否显示,从而达到读取数据的时候不需要加锁就可以保证事务隔离性的效果。 核心知识点 事务版本号 每次事务开启前都会从数据库获得一个自增长的事务 ID,可以从事务 ID判断事务执行的先后顺序。 隐藏列 DB_TR……
ricear - 2022年7月31日 15:57
锁
首先,对 MySQL 锁进行划分: 按照锁的粒度划分:表锁(Table Level Lock)、行锁(Row Level Lock)。 按照锁的使用方式划分:共享锁(Share Lock)、排他锁(悲观锁的一种实现)(eXclusive Lock)。 按照锁的思想划分:悲观锁(Pessimistic Concurrency Control, PCC)、乐观锁(Optimistic Concurr……
ricear - 2022年7月31日 15:56
事务日志
数据库的事务日志主要分三类,分别是Binlog、Redo Log、Undo Log。 Binlog 含义 Binlog 记录了对 MySQL 数据库执行更改的所有操作,但是不包括 SELECT 和 SHOW 这类操作,但是若操作本身并没有导致数据库发生变化,那么该操作可能也会写入 Binlog,如update t set a = 1 where a = 2;,但是表t 中并不存在a = 2 的巨……
ricear - 2022年7月31日 15:55