事务的隔离级别
读数据一致性及允许的并发副作用 隔离级别 | 读数据一致性 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|---|
未提交读 | 最低级别,只能保证不读取物理上损坏的数据 | 是 | 是 | 是 |
已提交读 | 语句级别 | 否 | 是 | 是 |
可重复读 | 事务级别 | 否 | 否 | 否 |
可序列化 | *别,事务级别 | 否 | 否 | 否 |
主从复制
MySQL复制分成三步
-
master将改变记录到二进制日志(binary log),这些记录过程叫做二进制事件,binary log events
-
slave将master的binary log events 拷贝到它的中继日志中(relay log)
-
slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的。主库发送更新事件到从库,并执行更新记录,使得从库的内容与主库保持一致。
复制的基本原则
-
每个slave只有一个master
-
每个slave只能有一个唯一的服务器ID
-
每个master可以有多个slave
对于每一个主从复制的连接,都有三个线程。拥有多个从库的主库为每一个连接到主库的从库建立一个binlog输出线程,没有从库都有它自己的I/O线程和SQL线程。
Redis知识点复习
Redis事务三特性
-
单独的隔离操作
-
事务中的所有命令都会序列化,按顺序执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
-
-
没有隔离级别的概念
-
队列中的命令没有提交之前都不会被执行,因为事务提交前任何指令都不会被执行
-
-
不保证原子性
-
事务中如果有一条命令执行失败,其后的命令仍然会被执行,没有回滚。
-