ruby轨道 – 什么时候在轨道上发布悲观的锁?
发布时间:2020-12-16 19:25:34 所属栏目:百科 来源:网络整理
导读:假设我正在做这样的事情(从 Active Record Querying guide) Item.transaction do i = Item.first(:lock = true) i.name = 'Jones' i.save end 锁是否在交易结束时自动释放?我查看了Active Query指南和ActiveRecord::Locking::Pessimistic docs,并且找不到在
假设我正在做这样的事情(从
Active Record Querying guide)
Item.transaction do i = Item.first(:lock => true) i.name = 'Jones' i.save end 锁是否在交易结束时自动释放?我查看了Active Query指南和ActiveRecord::Locking::Pessimistic docs,并且找不到在哪里明确说明锁的释放位置. 解决方法
锁定不是rails的功能,它只是将lock语句添加到查询中,这取决于您正在使用的数据库.悲观锁定采取“悲观”观点,认为每个查询都会受到腐败.所以它将锁定数据库,直到你完成交易.所以锁>查询>开锁.虽然这些数据库与数据库相当一致,但您可能需要阅读数据库文档,这些文档用于您应该知道的任何特定于数据库的内容.
这是一个很好的线索,乐观与悲观的锁定,解释它比我可以更好. Optimistic vs. Pessimistic locking (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |