u16suzuの blog

日々学んだことのメモブログです。

DBやKVSの楽観ロックと悲観ロックについて調べた

楽観ロック

  • 参照時にロックをしない
  • 仕組み : バージョンを保持しておき、バージョンが更新されていたら、その後の変更は破棄される
  • 同じリソースへの更新が、頻繁に発生しないことを想定したロック
  • 変更が破棄されるためリトライを考慮した設計にしなければならない
  • 主にアプリケーションレベルでかけることが多い
  • Redisではこちらの機能が使える

悲観ロック

  • 参照時にロックをする
  • 仕組み : 参照時にロックをかけ、他のプロセスはそのロックが解放されるまで待ちが発生する
  • 同じリソースへの更新が、頻繁に発生することを想定したロック
  • 主にDBレベルでかけることが多い

参考にしたページ