每次用戶的配置文件顯示時,我們都會更新Users表中的整數計數器。rails 3&activerecord:我需要採取特殊記錄鎖定預防措施來更新計數器字段嗎?
我開始考慮高併發情況,並想知道如果一堆人在同一時間點擊用戶的個人資料頁會發生什麼情況:rails/activerecord是否會爲我處理記錄鎖定和信號量?
或者,我的應用程序是否需要顯式調用某種機制以避免在對我的更新方法進行併發調用時丟失更新事件?
def profile_was_hit
self.update_attributes :hitcounter => self.hitcount + 1
end
並沿着這些線路,當我應該使用類似Users.increment_counter(:打反擊,self.id)呢?
非常感謝您的幫助。這應該有助於很多人。所以nmy外賣是使用increment_counter的原因是將它推送到dbase層,所以在多實例環境中(我在heroku上)它管理不同的實例同時更新。謝謝! – jpwynn 2011-06-11 17:20:07