悲观锁 对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。【数据锁定:数据将暂时不会得到修改】,(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程),传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等 ...
分类:
其他好文 时间:
2018-10-28 15:01:22
阅读次数:
142
MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。根据当前的数据更新语句(UPDATE user set name='11111' where account='1'),该条件字段acc ...
分类:
数据库 时间:
2018-10-26 13:15:20
阅读次数:
250
Mysql的逻辑分层: 连接层 服务层 引擎层 存储层 常见的数据库引擎有InnorDB和MylSAM。 InnorDB:事物优先,(适合高并发操作:行锁,顾名思义一次锁一行数据) MylSAM:性能优先,(适合大数据:表锁,一次锁一张表数据) 而我们如何查询数据库引擎:支持哪些引擎? 通过show ...
分类:
数据库 时间:
2018-10-21 20:39:47
阅读次数:
236
悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。 传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 Java中synchronized和ReentrantL ...
分类:
其他好文 时间:
2018-10-21 14:19:53
阅读次数:
213
MySQL 的常用引擎 1. InnoDB InnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件。 InnoDB 中存在表锁和行锁,不过行锁是在命中索引的情况下才会起作用。 InnoDB 支持事务,且支持四种隔离级别(读未提交、 ...
分类:
数据库 时间:
2018-10-19 02:06:10
阅读次数:
149
一、MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库 ...
分类:
数据库 时间:
2018-10-16 01:47:16
阅读次数:
192
一、 MVCC 原理了解 原文点击:MVCC原理浅析 MVCC: Multi Version Concurrency Control 多版本并发控制:当mysql 开启事务操作时,或者数据库崩溃恢复,都会用到MVCC机制,而不只是单单靠行锁去实现。而是一起使用 当使用锁( ...
分类:
数据库 时间:
2018-10-15 14:27:27
阅读次数:
195
摘自:https://www.cnblogs.com/protected/p/6526857.html 关于数据库的各种锁的总结: 1.共享锁(又称读锁)、排它锁(又称写锁): InnoDB引擎的锁机制:InnoDB支持事务,支持行锁和表锁用的比较多,Myisam不支持事务,只支持表锁。 共享锁(S ...
分类:
数据库 时间:
2018-10-15 12:01:57
阅读次数:
161
条件竞争漏洞 竞争条件”发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中 一、使用FD FD开启抓包,点击购买 选中数据包==shift+r== 出现多条数据包队列,前几条会是并发 点击GO,发送 成功,正常大辣条数目应该为4,现在买了11个 二、使用burpsu ...
分类:
其他好文 时间:
2018-10-14 01:48:53
阅读次数:
508
MySQL主从复制是通过监控和同步主机的binlog日志,然后实施恢复,主从之间延迟的原因有很多: 1是从服务器监控binlog日志文件,例如每隔1秒更新一次,就 2是从服务器SQL执行过长,某个SQL要进行锁表; 3是主服务器事务太大,假设1个大事务在主服务器上执行了1分钟,则需要在最后的提交时间 ...
分类:
其他好文 时间:
2018-10-13 18:17:09
阅读次数:
91