gpt4 book ai didi

ruby-on-rails - 什么时候在 Rails 中释放悲观锁?

转载 作者:行者123 更新时间:2023-12-03 21:20:29 27 4
gpt4 key购买 nike

假设我正在做这样的事情(来自 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 的功能,它只是将锁定语句添加到查询中,具体取决于您使用的数据库。悲观锁定采取“悲观”的观点,认为每个查询都会受到破坏。所以它将锁定选定的行,直到您完成 交易 .所以锁定>查询>解锁。虽然这些数据库与数据库之间相当一致,但最好阅读您使用的数据库文档,了解您应该了解的任何特定于数据库的内容。

这是一个关于乐观与悲观锁定的好线程,它比我能更好地解释它。 Optimistic vs. Pessimistic locking

关于ruby-on-rails - 什么时候在 Rails 中释放悲观锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com