エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Ruby on Rails 悲観ロックと楽観ロックまとめ
はじめに はじめまして! 株式会社カウンターワークスでエンジニアをしている田中です。 業務で排他制御... はじめに はじめまして! 株式会社カウンターワークスでエンジニアをしている田中です。 業務で排他制御が必要な機能を実装することになり、悲観ロックと楽観ロックについて学びました。 同じように初めて排他制御を実装する方の参考になれば幸いです。 TL;DR 悲観ロック(Pessimistic Locking) 「競合は絶対起きる」前提で先にロックを取得 with_lock で簡単実装、リトライ処理不要 競合が多い場面に最適 トレードオフ: ロック待ちでパフォーマンス低下の可能性 楽観ロック(Optimistic Locking) 「競合は稀」前提でロックせず処理、保存時にバージョンチェック lock_version カラム追加で自動有効化 競合が少ない場面に最適 トレードオフ: StaleObjectError のエラーハンドリングが必要 選び方: 競合が多い → 悲観ロック、競合が少ない →



2025/12/21 リンク