标签: ruby-on-rails
我有一个可能在不同的Ruby on Rails进程之间共享的数据库。为了保持一致性,我希望我操作的记录是最新的。
我希望能解决这个问题:进程A读取记录,进程B读取相同的记录,进程A更新记录,(现在进程B中的记录实例是陈旧的)。由于涉及多个进程,我显然不能使用任何互斥锁等。
有什么好办法吗?
答案 0 :(得分:0)
我对此没有多少经验,但我会研究交易和锁定。
http://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html
http://api.rubyonrails.org/classes/ActiveRecord/Locking/Optimistic.html
http://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html
乐观的锁定听起来最适合你正在做的事情。