
数据库
文章平均质量分 86
猫狗行
这个作者很懒,什么都没留下…
展开
-
Redis的学习
Redis线程模型 多个 socket 可能会并发产生不同的操作,每个操作对应不同的文件事件,但是 IO多路复用程序会监听多个 socket,会将产生事件的 socket 放入队列中排队,事件分派器每次从队列中取出一个 socket,根据 socket 的事件类型交给对应的事件处理器进行处理。 建立连接 首先,redis 服务端进程初始化的时候,会将 server socket 的 AE_READABLE 事件与连接应答处理器关联。 客户端 socket01 ...原创 2022-02-15 20:04:42 · 650 阅读 · 0 评论 -
Mysql索引
索引介绍 Mysql官方介绍索引是一种帮助Mysql高效获取数据的数据结构。 而平时我们所说的索引是具体的像聚集索引,唯一索引,复合索引,前缀索引等。 为什么要使用索引 我们使用新华字典,如果没有拼音笔画查找目录,我们想查找一个字,那得一页页去翻。 假如有百万条数据,在没有索引的情况下,我们需要从第一条数据开始查找。运气好,可能第一条数据就是,运气不好,可能得查找到第一百万条数据...原创 2021-10-09 17:35:43 · 277 阅读 · 0 评论 -
Innodb和MyISAM两种引擎的区别
Innodb引擎支持ACID事务,提高了事务的四种隔离级别。 数据库事务的特性与隔离级别_我是小Gua牛的博客-优快云博客 MyISAM引擎不支持事务。 Innodb引擎的锁粒度是行级别,支持写读并发。但是在约束条件不清楚的情况下同样会锁住整张表。 MyISAM引擎的锁粒度是表级别的,支持读并发,但是写操作是会锁住整张表,不允许其他的读写操作。读线程就算先到也会让位给写线程,写线程具有优先权。如果频繁进行写操作,那么将会不断进行排队,有可能会造成永久阻塞。 Innodb引擎支持外键。 MyIS原创 2021-09-23 09:56:05 · 178 阅读 · 0 评论 -
悲观锁、乐观锁、间隙锁、死锁、自旋锁等
悲观锁 在每一个数据被修改前认为会影响其他事务,持保守意见,对数据进行加锁,这就是悲观锁(Pessimistic Concurrency Control)。 悲观锁主要分为共享锁(shared lock)和排他锁(exclusive locks)。 事务正在查询的数据加共享锁后,其他事务也能对该数据添加共享锁,对该条数据进行并发访问,但是不需要进行修改操作。 事务对准备修改的数据添加排他锁后,其他事务不能够对该条数据再添加任何锁(包括排...原创 2021-09-22 17:17:11 · 1066 阅读 · 0 评论 -
数据库事务的特性与隔离级别
事务四大特性: 原子性:要么事务操作成功,要么就失败回滚。成功就将操作修改完全应用到数据库,要么操作失败恢复到原来的情况,保证数据不受影响。 一致性:A账户有1000元,B账户0元,两个账户之间无论怎么转账,总额一定是1000元。亦或是一个事务内进行的读写操作应该是符合操作结果的,如果没有进行任何的修改,第一次读和第二次读的结果不一致,那就违背了一致性原则。 隔离性:事务之间相互隔离,一个事务不影响另一个事务。事务有四大隔离级别。 ...原创 2021-09-22 15:31:36 · 144 阅读 · 0 评论