写得不是很好,希望大家多多吐槽 >__< mysql主从总结 一、原理 (1)流程 A change data > 记录bin_log > transfer(传到) > B > repl_log(记录自己的从日志repl_log) > change data(更改自己的数据) (2)说明 主mysq ...
分类:
数据库 时间:
2016-11-20 06:53:05
阅读次数:
232
1.锁 为什么需要锁?因为数据库要解决并发控制问题。在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它。为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念。 1.1锁的分类 从对数据操作的类型(读\写)分 读锁(共享锁):针对同 ...
分类:
数据库 时间:
2016-11-17 23:28:47
阅读次数:
298
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2016-11-01 23:50:33
阅读次数:
147
共享锁shared lock(也叫读锁read lock)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。共享锁不阻塞共享锁,阻塞排它锁 排他锁e ...
分类:
数据库 时间:
2016-10-19 07:37:53
阅读次数:
360
在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。 在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞 ...
分类:
编程语言 时间:
2016-10-13 17:05:18
阅读次数:
202
文件锁有两种:共享锁和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX) 文件的锁一般这么使用: $fp = fopen("filename", "a"); flock($fp, LOCK_SH) or die("lock error") $str = fread($fp, 1024); ...
分类:
Web程序 时间:
2016-09-12 18:38:55
阅读次数:
132
MySQL事务和隔离级别连接管理器: 接受请求 创建线程 认证用户 建立安全连接 并发控制: 最简单机制是使用锁 多版本并发控制:MVCC(使用其他机制)锁: 读锁:共享锁 写锁:独占锁 加锁: LOCKTABLEStb_name{READ|WRITE}; 解锁: UNLOCKTABLES 锁粒度:从大到小,MySQL服..
分类:
数据库 时间:
2016-09-05 17:22:51
阅读次数:
195
共享锁【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。共享锁是造成上锁对象必须被大家共享,它排斥 排他锁,因此别的会话不能独占资源对其修改 ...
分类:
其他好文 时间:
2016-07-23 16:37:03
阅读次数:
137
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2016-07-21 00:47:40
阅读次数:
213
锁: 读锁,也叫共享锁 写锁,也叫排他锁 锁粒度: 表锁:开销小,并发性略低 行锁:开销大,并发处理强 事务: ACID原则:原则性,一致性,隔离性,持久性 分为四个级别: 未提交读 提交读 可重复读 可串行化 死锁: 不同顺序的占用资源,并发执行可能出现死锁现象 ...
分类:
数据库 时间:
2016-07-19 22:10:52
阅读次数:
176