建议锁
一個建議鎖是一個cooperative lock。那就是說,一個建議鎖沒有能力阻止數據的訪問,但是所有的客戶端可以使用一種溝通的談話機制來合作使用一種資源。
使用如下的GET_LOCK()函數來獲得建議鎖:
》select GET_LOCK(‘my lock’,5);
第一個參數表明被鎖的名字,第二個參數是超時的值表明多長的時間等待鎖如果它不能直接獲得。如果成功將返回1,如果超時發送將返回0和鎖不能獲得。如果一個錯誤發生,返回NULL。
使用RELEASE_LOCK()來釋放鎖。
有兩函數來檢測建議鎖的狀態:
1.IS_FREE_LOCK(lock_name)返回1,如果這個名字不是被鎖,如果被鎖返回0,如果發送錯誤返回NULL
2.IS_USED_LOCK(lock_name)返回連接的ID,返回NULL如果名字沒有被鎖
與50位技術專家面對面20年技術見證,附贈技術全景圖總結