一、innodb: mysql默认搜索引擎; 特点: (1)支撑事务,可以在事务上添加锁; (2)锁方式: 1)共享锁(乐观锁):对查询共享,对增删改上锁。//当提交事务时会释放锁。 2)排它锁(排他锁):对增删改查全部上锁。 ps: 1)行锁只有InnoDB有; 2)提交事务就是释放锁; 3)锁需 ...
分类:
数据库 时间:
2019-07-31 23:44:19
阅读次数:
121
MyISAM与InnoDB关于锁方面的区别MyISAM与InnoDB关于锁方面的区别:MyISAM默认使用的是表级锁,不支持行级锁InnoDB默认用的是行级锁,也支持表级锁InnoDB支持事务,在事务中被加锁的数据行需要等事务commit之后才会统一解锁,否则不会解锁。而MyISAM不支持事务,所以不会有这个问题MyISAM和InnoDB都支持共享锁和排他锁,读锁共享,写锁排他InnoDB在开启事
分类:
数据库 时间:
2019-07-28 22:51:35
阅读次数:
259
引言: 在写“事务”之前要说一点,对于 MySQL 而言 InnoDB 引擎支持事务,而 MyISAM 引擎是不支持事务的。下面会从事务的基本概念入手,对事务的特性以及其特性带来的一些问题进行详细介绍。 事务的概念 事务是指逻辑上的一组操作 事务的特性 原子性(Atomicity) 事务是一个不可分 ...
分类:
其他好文 时间:
2019-07-28 17:50:39
阅读次数:
95
一、锁的分类 对数据操作的类型:读锁(共享锁)、写锁(排它锁) 对数据操作对粒度:表锁、行锁 二、表锁(偏读) 特点:偏向MyISAM存储引擎,开销小,加锁快,无死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。 MyISAM在执行查询语句前,会自动给涉及的所有表加读锁,在执行增删改操作前,会自动 ...
分类:
数据库 时间:
2019-07-21 12:03:27
阅读次数:
137
锁的概念: 首先我们先了解下什么是数据库锁, 锁是事务对某个数据库中的资源(如表和记 录)存取前,先向系统提出请求,封锁该资源, 事务获得锁后,即取得对数据的控制权,在事务释放它的锁之前,其他事务不能更新此数据。当事务撤消后,释放被 锁定的资源。 数据库锁的分类: 共享锁:又叫S锁或者读锁,加了共享 ...
分类:
数据库 时间:
2019-07-08 00:20:11
阅读次数:
148
在一个事务中,标准的SELECT语句是不会加锁,但是有两种情况例外。 SELECT ... LOCK IN SHARE MODE SELECT ... FOR UPDATE SELECT ... LOCK IN SHARE MODE:给记录假设共享锁,这样其他事务职能读不能修改,直到当前事务提交 S ...
分类:
数据库 时间:
2019-07-01 17:07:32
阅读次数:
120
MySQL事务 Transaction(事务)定义 + 事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元) + 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成 + 事务只和DML语句有关 ...
分类:
数据库 时间:
2019-06-24 19:44:33
阅读次数:
140
AQS是JUC锁框架中最重要的类,通过它来实现独占锁和共享锁的。本章是对AbstractQueuedSynchronizer源码的完全解析,分为四个部分介绍: CLH队列即同步队列:储存着所有等待锁的线程 独占锁 共享锁 Condition条件 注: 还有一个AbstractQueuedLongSy ...
分类:
其他好文 时间:
2019-06-19 20:25:53
阅读次数:
95
本篇内容主要讲解的是redis分布式锁,并结合模拟抢单的场景来使用,内容节点如下: jedis的nx生成锁 如何删除锁 模拟抢单动作 1.jedis的nx生成锁 对于分布式锁的生成通常需要注意如下几个方面: 创建锁的策略:redis的普通key一般都允许覆盖,A用户set某个key后,B在set相同 ...
分类:
其他好文 时间:
2019-06-11 13:18:06
阅读次数:
147
一,锁 锁是并发控制中最核心的概念之一,在MySQL中的锁分两大类,一种是读锁,一种是写锁,读锁也可以称为共享锁(shared lock),写锁也通常称为排它锁(exclusive lock)。 这里先不讨论锁的具体实现,描述一下锁的概念:读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以同 ...
分类:
数据库 时间:
2019-06-10 13:36:00
阅读次数:
133