사용자 프로필이 표시 될 때마다 사용자 테이블의 정수 카운터를 업데이트합니다.rails 3 & activerecord : 카운터 필드를 업데이트하기 위해 특별한주의가 필요한 잠금 조치가 필요합니까?
나는 높은 동시성 상황에 대해 생각하기 시작했다. 그리고 많은 사람들이 동시에 사용자 프로필 페이지를 쳤다면 어떻게 될지 궁금해했다. 레일스/액티브 레코드가 나를 위해 레코드 잠금 및 세마포어를 마법처럼 처리합니까?
또는 내 업데이트 메소드를 동시에 호출 할 때 내 앱이 업데이트 이벤트 누락을 피하기 위해 명시 적으로 어떤 메커니즘을 호출해야합니까?
def profile_was_hit
self.update_attributes :hitcounter => self.hitcount + 1
end
그리고 그 라인을 따라 , 내가 Users.increment_counter 같은 것을 사용해야 할 때 (: 방문 횟수 카운터, self.id) 대신?
매우 도움이되는 응답에 감사드립니다. 그것은 많은 사람들을 도와야합니다. 그래서 nmy take-away를 사용하는 이유는 increment_counter를 dbase 계층으로 밀어 넣는 것입니다. 그래서 다중 인스턴스 환경에서 (저는 heroku에 있습니다) 동시에 다른 인스턴스를 관리합니다. 감사! – jpwynn