位置: 编程技术 - 正文

浅谈Yii乐观锁的使用及原理(乐观锁用法)

编辑:rootadmin

推荐整理分享浅谈Yii乐观锁的使用及原理(乐观锁用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:乐观锁实例,乐观锁的作用,乐观锁会存在什么问题,乐观锁一定就是好的吗?,乐观锁一定就是好的吗?,乐观锁一定就是好的吗?,乐观锁的两种实现方式,乐观锁的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

本文介绍了Yii乐观锁的使用及原理,自己做个学习笔记,也分享给大家,希望对大家有用处

原理:

数据表中使用一个int类型的字段来存储版本号,即该行记录的版本号。更新数据时,对比版本号是否一致

sql查询代码如下(伪代码)

即在更新时的where查询条件中,带上之前查询记录时得到的版本号,如果其他线程已经修改了该记录,则版本号势必不会一致,则更新失败

示例

数据表

假设有如下数据表

浅谈Yii乐观锁的使用及原理(乐观锁用法)

模型类

appmodelsTestVer

该模型类,重写BaseActiveRecord类中的optimisticLock方法

声明用于记录版本号的字段

updateRecord修改id为1的记录

控制器

控制器中调用updateRecord方法

Yii Debugger结果

查看database选项,可以查看到实际执行的sql语句。

有一条语句如下

Yii乐观锁实现原理

实现原理在yiidbBaseActiveRecord::updateInteranl()方法

从上面的代码中,我们不难得出:

当 optimisticLock() 返回 null 时,乐观锁不会被启用。 版本号只增不减。 通过乐观锁的条件有2个,一是主键要存在,二是要能够完成更新。 当启用乐观锁后,只有下列两种情况会抛出 StaleObjectException 异常: 当记录在被别人删除后,由于主键已经不存在,更新失败。 版本号已经变更,不满足更新的第二个条件。

标签: 乐观锁用法

本文链接地址:https://www.jiuchutong.com/biancheng/291023.html 转载请保留说明!

上一篇:浅谈PHP发送HTTP请求的几种方式

下一篇:深入理解Yii2.0乐观锁与悲观锁的原理与使用(深入理解llvm)

  • 税收职能和作用
  • 房东口头答应减免房租又反悔了
  • 转租房产税计税依据
  • 红字发票和蓝字一样吗
  • 集团内部借款利息可以税前扣除吗
  • 公司注销之后股东还承担责任吗
  • 收到返利款怎么做账
  • 拖欠供应商货款
  • 发票入账后查出金额错误
  • 房屋租赁交税能补交吗
  • 预付账款可以用应付账款借方
  • 收到上级补助收入怎么记账
  • 直接快递到国外的货物如何收汇?
  • 试用期可以不交五险一金吗
  • 汽车租凭发票税率
  • 城市垃圾处理项目
  • 应收账款质押账户被冻结
  • 内外账合并步骤
  • 本月销项大于进项
  • 查账征收企业所得税季报怎么填
  • windows10专业
  • 新版edge浏览器兼容性视图怎么设置
  • 退税应纳税所得额4万交税多少
  • 如何更改中英文切换
  • win7怎么运行在哪里设置
  • 实收资本或股本的账务处理
  • 进口的固定资产包括哪些
  • PHP+Mysql+jQuery实现发布微博程序 php篇
  • element-plus vue
  • 付的押金冲抵部分怎么算
  • 公司购买办公用房可以抵税吗
  • 可抵扣的费用
  • 在windows中安装应用程序的途径
  • php wechat
  • 分公司怎么开独立开票
  • 企业购买预付卡怎么做账
  • window.eval方法
  • php-fpm运行模式
  • php递归函数桃子一天吃一半
  • 代付代缴社保会计分录
  • 调用系统服务出错原因
  • 预提财务费用
  • mysql数据库中进入mysql库的命令
  • 自产用于捐赠的会计处理
  • 政府补助的内容
  • 公司的零星开支怎么做账
  • 优惠的会计分录
  • 新注册企业实收资本没到账怎么处理
  • 购买二氧化氯
  • 会计科目的设置原则包括( )
  • 餐饮行业月末结转成本怎么算
  • 收到投资款如何声明
  • 个人独资企业交什么税
  • 资产负债表不平最简单的方法
  • 会计凭证中阿拉伯数字如何书写
  • 各种会计凭证的填制
  • 记账簿的目的在于为企业
  • mysql数据库无法连接到服务器怎么办
  • linux命令实现
  • Win10预览版怎么变回正式版
  • centos 安装
  • upd什么意思
  • win7修改sid
  • 删除微软
  • window xp电脑连接宽带怎么连接
  • ubuntu下安装deb文件
  • windows8正在准备windows
  • windows修复失败
  • 关闭迅雷安卓版自动更新
  • 常用标准化布局标签有哪些?
  • jquery的checked
  • python中执行linux命令
  • shell脚本视频教程
  • c#委托实现的步骤
  • 电脑兼容ie
  • 用持久的喷剂有副作用吗
  • 地税电子税务局漏报要去大厅吗
  • 党建阵地作用发挥不好
  • 2022年最新最全食物嘌呤含量一览表
  • 地源热泵有收费标准吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设