5.

【Laravel】DBの悲観ロック

編集
この記事の要点
  • Laravel の悲観ロック(DB レベルロック)
  • 共有ロック (SELECT ... LOCK IN SHARE MODE): ->sharedLock()
  • 占有ロック (SELECT ... FOR UPDATE): ->lockForUpdate()
  • トランザクション内で使用 (DB::transaction(...)) するのが基本

 

共有ロック(参照時にかけるロック)

DB::table('users')->where('votes', '>', 100)->sharedLock()->get();

 

占有ロック(更新時にかけるロック)

DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();

 

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. config/database.phpファイル
  2. .env
  3. 複数のデータベースに接続する方法
  4. DBトランザクション
  5. DBの悲観ロック