当前位置: 首页 > news >正文

也买酒技术网站建设/seo静态页源码

也买酒技术网站建设,seo静态页源码,前端做项目有哪些网站,昆明网站排名优化以下内容转自 murphy_gb 博客 共享锁,又称为读锁,获得共享锁之后,可以查看但无法修改和删除数据。 排他锁,又称为写锁、独占锁,获得排他锁之后,既能读数据,又能修改数据。 为什么要加锁 很多人…

以下内容转自  murphy_gb 博客

共享锁,又称为读锁,获得共享锁之后,可以查看但无法修改和删除数据。

排他锁,又称为写锁、独占锁,获得排他锁之后,既能读数据,又能修改数据。

为什么要加锁

很多人都知道,锁是用来解决并发问题的,那么什么是并发问题呢?并发情况下,不加锁会有什么问题呢?

拿生活中的洗手间举例子,每个洗手间都会有一个门,并且是可以上锁的,当我们进入洗手间之后会把门反锁,当我们出来之后再把锁打开。

当门被锁上之后,其他人只能在门外等待。洗手间之所以要有门锁,就是为了保护隐私的,避免出现多个人同时进入洗手间的情况。

这和数据库中的锁其实是一样的,为了避免多个事务同时操作数据库导致数据异常,一般会通过锁机制解决。

在介绍共享锁和排他锁之前,我们先来大个比方,前面已经用了一个洗手间的例子,那么就继续这个例子。一般情况下,我们进入洗手间有可能做一下几件事:洗手、化妆、上厕所等,其实只要上厕所这件事是极度隐私的,而其他事没有那么隐私。

我们可以认为洗手间就是一个数据库表,而洗手间内部的设施就是数据库表中的数据。我们每个想要进入洗手间的人都是一个事务,简单的洗手、化妆等操作可以认为是读操作,而上厕所操作可以认为是写操作。

共享锁

前面简单介绍了数据库与洗手间之间的类比关系,那么接下来继续分析什么是共享锁。

有些时候,如果我们进入洗手间只是想洗手的话,我们一般不会锁门。而其他人也可以进来洗手、化妆等。但是,其他人是不可以进来上厕所的。

这就是共享锁,也叫读锁。就是我们对数据进行读取操作的时候,其实是不会改变数据的值的。

所以我们可以给数据库增加读锁,获得读锁的事务就可以读取数据了。当数据库已经被别人增加了读锁的时候,其他新来的事务也可以读数据,但是不能写。

也就是说,如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。

用法

在查询语句后面增加LOCK IN SHARE MODE,Mysql会对查询结果中的每行都加共享锁。

SELECT ... LOCK IN SHARE MODE;

当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请共享锁,否则会被阻塞。其他线程也可以读取使用了共享锁的表,而且这些线程读取的是同一个版本的数据。

排他锁

介绍完了共享锁后,在来说说互斥锁。

如果我们进入洗手间只是想洗手,那么我们可以允许其他人也进来洗手。但是,如果我们进入洗手间是为了上厕所,那么任何人不能再进来做任何事。

这就是排他锁,也叫写锁。就是我们对数据进行写操作的时候,要先获得写锁,获得写锁的事务既可以写数据也可以读数据。但是,如果数据库已经被别人增加了排他写锁,那么后面的事务是无法在获得该数据库的任何锁的。

也就是说,如果事务T对数据A加上排他锁后,则其他事务不能再对A加任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。

用法

在查询语句后面增加FOR UPDATE,Mysql会对查询结果中的每行都加排他锁

SELECT ... FOR UPDATE;

当没有其他线程对查询结果集中的任何一行使用排他锁时,可以成功申请排他锁,否则会被阻塞。

加锁原则

拿MySql的InnoDB引擎来说,对于insertupdatedelete等操作。会自动给涉及的数据加排他锁;

对于一般的select语句,InnoDB不会加任何锁,事务可以通过以下语句给显示加共享锁或排他锁。

共享锁:SELECT ... LOCK IN SHARE MODE;

排他锁:SELECT ... FOR UPDATE;

转载于:https://www.cnblogs.com/fanghl/p/11316540.html

http://www.lbrq.cn/news/806059.html

相关文章:

  • 网络销售怎么做网站/2023年重大时政热点
  • 男女做羞羞事的网站/站长工具如何使用
  • 成都网站制作怎么样/阿里云搜索引擎
  • flask做视频网站/如何做网销
  • 网站建设备案书模板/今日预测足球比分预测
  • 企业门户网站建设渠道/种子库
  • wordpress登录页美化/青岛seo网站管理
  • 小说网站怎么做用户画像/网页百度
  • 北京P2P公司网站建设/淘宝指数查询工具
  • 开发网站有什么用/seo外链购买
  • 阿里云服务器做电影网站/佛山网站开发公司
  • 昆明cms模板建站/百度手机助手app安卓版官方下载
  • 信息科技有限公司网站建设/商品热搜词排行榜
  • 建设英文品牌网站/域名注册需要什么条件
  • 如何删除wordpress文件夹/宁波seo网页怎么优化
  • 番禺互联网公司/网站免费优化
  • 模板做网站上传/百度站长快速收录
  • 外贸网站建设升上去/广告代发平台
  • 常州做网站哪里好/郑州seo外包顾问
  • 做物流的网站有哪些/重庆seo培训
  • 深圳设计研究院总院/无锡seo
  • 装潢公司企业网站源码/seo关键词排名怎么提升
  • 高清免费素材网站/磁力链bt磁力天堂
  • 成都制作网站工作室/自媒体发布软件app
  • 具体的网站建设方案/百度快照优化排名推广怎么做
  • 外贸电商网站建设/qq群推广方法
  • 扫描二维码进入公司网站怎样做/阿里云com域名注册
  • 潍坊网站建设外包/旺道seo推广
  • 类似一起做网店的网站/舆情系统
  • 成都响应式网站建/品牌推广的渠道有哪些
  • 24黑马SpringCloud安装MybatisPlus插件相关问题解决
  • 【Django】-2- 处理HTTP请求
  • DeepCompare文件深度对比软件:专业级文件对比操作全解析
  • WebSocket配置实战:打造稳健高效的消息通信系统
  • 在幸狐RV1106板子上用gcc14.2本地编译安装samba-4.22.3服务器,并且支持XP系统访问共享文件夹
  • Mac配置iterm2