行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生... > このページを見る
最終更新時間:
2010年10月28日11時11分
みんなのブックマーク 人気(0) 新着
- activerecordでの行ロック。ついでに楽観ロックのやり方も掲載されている。
-
MongoDB使うとき、DBレベルでトランザクションを使えないという事情もあり、アプリ側でActiveRecordのlock_versionみたいな実装が必要になるんじゃないかという話が出た。
- railsで悲観ロック(select for update)。find時にlock=>trueオプションでトランザクション終了時まで有効。モデルに.lock!でもよい。
-
楽観ロックと悲観ロックは排他的に使い分けるものではなく、悲観ロックだと複数Web画面に跨ってロックすることが出来ないからそういう場合は楽観ロックを使う、という話。








