位置: 编程技术 - 正文

浅谈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)

  • 电子税务局能查到个税申报信息吗
  • 应收留抵税额退税款属于哪类科目
  • 国际税收协定是怎样避税的
  • 提现的手续费怎么做账
  • 退货开具红字发票销项税为负数税务局会查吗
  • 年化收益率和年利率的区别的例子
  • 食堂购买食材明细表
  • 资本公积转实收资本会计科目
  • 土地转让差额征税开票及申报表填写
  • 延期付款利息的税率是多少
  • 所得税汇算成本调减会计分录
  • 固定资产原值减预计净残值等于什么
  • 卷烟批发企业批发卷烟是否缴纳消费税
  • linux dns配置服务器
  • 服务佣金是什么意思
  • 增值税发票的进项和出项要一致吗
  • 家装行业如何确认收入
  • linux查关键字
  • 税收返还的账务处理
  • 收入汇缴账户可以冻结吗
  • 分批次付款
  • 简明易懂的
  • 项目差旅费能计入项目费用吗
  • 闲置的固定电话机怎么改装
  • 待提出票据交换及转汇款怎么做账
  • 并发操作的定义
  • shell和pycharm
  • 销项和进项税额还需要月底转出么
  • 非财政补助结转是什么类科目
  • 什么叫财政补助收入
  • 海洋cms有安卓版下载
  • 应发工资包含
  • 企业哪些增值税免征
  • sql server数据表的关联
  • 小额收据入账规则最新
  • 无票收入会计分录实例
  • 小规模纳税人税率1%政策到什么时候
  • 企业所得税什么时候计提
  • 交易性金融资产公允价值变动怎么算
  • 加班打车费用计入什么科目
  • 运输费用增值税税率9%
  • 产品因质量问题换新质保期如何计算
  • 冲减上月收入会计分录
  • 开立银行承兑汇票利率
  • 银行存款日记账对方科目两个怎么办
  • 营业外收入是收入类还是费用类
  • 明细账的建账
  • bios设置电脑定时启动
  • windows vista pe
  • vcspawn.exe什么意思
  • window10重装显卡驱动
  • macbook调节音量怎么没反应
  • android linux deploy
  • mac电脑安装软件未受信任
  • win10系统ie浏览器不见了
  • windows10右键菜单
  • 联想笔记本win7装win10
  • bootstrap怎么引用
  • 微信公众号javascript
  • 怎样提升android的版本为最新版本?
  • cocos2d教程
  • jquery validate
  • attributes.add
  • 本地安装策略在哪里
  • tbc背包插件
  • vue vue cli
  • 通过制作日晷我们可以探索发现一天之中
  • js设置颜色代码
  • 基础的重要性
  • shell脚本实例精讲
  • import python-docx
  • js操作dom节点的方法
  • 律师到税务机关调取信息
  • 生鲜肉类免税
  • 陕西国家税务
  • 税控盘过了时间没清卡要罚多少钱
  • 河南省国家税务局通用定额发票
  • 广东省国家税务局电子发票系统,网络设置
  • 安徽省纪检监察官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设