分布式資料庫鎖實現思路

2021-09-22 17:55:25 字數 1044 閱讀 4022

實現思路如下:

1.資料庫中設計乙個表有如下字段:

鎖的key,鎖的生效時間,鎖的過期時間,鎖的型別,獲取到鎖的機器ip位址】

2、然後把鎖的key和鎖的型別 作為乙個索引 型別為unique 唯一的。

3、在上鎖的時候就是往其中插入資料的時候,由於有乙個唯一索引所以插入資料只會有乙個成功,即搶到鎖的上鎖的那個程式。

如果插入失敗,查詢已經存在的鎖的過期時間是否小於了當前要插入的鎖的生效時間 ,查詢為空說明該鎖未過期,查詢不為空說明該鎖已經過期,可以進行更新鎖的生效時間和過期時間了。

4、執行問完之後就刪除該條資料釋放鎖。

偽**如下:

public boolean lock(string lockkey, string locktype, long locktime) 

} catch (exception e) , type:{}", lockkey, locktype);

}connlock = connlockdao.selectexplockbykeyandtype(lockkey, locktype, effectivetime);

if (connlock == null) and type:{},curtime is {}",

lockkey, locktype, effectivetime);

return false;

}if (connlockdao.updateexistlock(effectivetime, expiredtime,

connlock.geteffectivetime(), connlock.getid()) > 0)

logger.info("update expired lock fail by key:{} and type:{},curtime is {}",

lockkey, locktype, effectivetime);

} catch (exception e) ,locktype is : {}", lockkey, locktype, e);

}return false;

}

分布式資料庫

網路選課系統中分布式資料庫設計 何翠雙王巧雲張麗麗 摘要 關鍵字 選課 分布式 資料庫 distributed system of on line course choosing abstract key words course choosing distributed database 隨著學校...

分布式資料庫

1 背景 我們知道資料是乙個公司的命脈,隨著業務越做越大,資料量也會越來越大,計算也會越來越複雜,效能,可靠性,可擴充套件性的需求就會越來越強烈,這個時候乙個集中式的資料庫顯然已經滿足不了需求了。對於技術決策者來說有兩條路可以走,第一 按照現有的大型資料庫的解決方案,比如sql server clu...

分布式資料庫

一 分布式資料庫的出現的場景 網際網路 軟體國產化 o2o 五新 新零售 新製造,新金融 新資源 新技術 等主題接連提出來,並且在各個行業落地,給資料庫帶來了巨大機會,具體包含3個方向 1.遠超單機資料庫容量的資料儲存和訪問峰值 2.實時資料分析檢索 oltp兼顧olap 3.更高階別的容災需求。這...