🎯 什麼情境該想到我

當你「資料衝突很常發生,想在開始存取前就先取得鎖、避免白做工」的時候。

⚙️ 怎麼用(步驟 / 公式)

意圖:在存取資料前先取得鎖,讓同時間只有一個業務交易能動它,從源頭避免衝突。

做法要點:

  • 用一張鎖表(lock table)記錄「哪筆資料被誰鎖住」。
  • 開始編輯前先嘗試取鎖,取到才能繼續;取不到就等待或被拒。
  • 完成交易或逾時後釋放鎖。
  • 常見鎖型:獨占寫鎖、讀寫鎖等,依需求選擇。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 明顯降低並發度,鎖住期間別人動不了。
  • 需處理死結、以及使用者忘了釋放鎖(逾時機制)。
  • 衝突其實很少時,改用樂觀離線鎖並發更好。

🔗 相關工具