1、資料庫加鎖的機制:
1)乙個是資料庫本身鎖,在update時mysql是排它鎖(寫鎖)並行的,對乙個資料進行update的時候就對該記錄加了行級鎖,然後對該記錄的locktime欄位賦值,即成功的給該記錄上鎖。
2)自己在資料庫中增加乙個欄位locktime,當鎖定的時候,給locktime賦值當前時間,代表該條記錄被鎖定,當取沒有鎖的資料時,獲取不到這條記錄了, 解鎖時,給locktime賦值為null,代表沒有鎖定。
當資料庫中的locktime值為null或者小於當前時間-10分鐘的時候,代表該條記錄沒有被鎖定,或者鎖已過期。
2、環境建立、環境部署實現
2)乙個完成的環境從申請機器、到構建部署等,都是用定時job取執行,每個job分別執行自己的任務,例如環境建立、環境建立結果查詢等,然後由乙個資料庫中的總job來記錄每個環境中每個job執行的結果,任何乙個環節的job失敗之後就會更新總job記錄中的狀態,之後的構建部署job就不會執行該環境下的任何操作了,即該環境直接就失敗了。
3、服務之間呼叫的配置替換
MySQL安全管理 Allione 新浪部落格
目錄 安全影響因素 許可權系統 2 許可權系統 flush privileges 因為mysql每次啟動的時候就會將所有的許可權資訊都load到記憶體中,所以每次修改許可權之後要執行flush privileges命令載入mysql的許可權資訊。如果我們通過grant,revoke 或者drop u...
兩個棧實現佇列 Allione 新浪部落格
思路 有兩個棧,棧1和棧2.當入棧的時候,我們將它全放進棧1中,當需要出棧的時候,我們將棧1出棧到棧2中,然後再將棧2依次出棧。所以入棧的時候,思路很簡單,注意到要將int型別轉為integer型別,我們使用了new integer int 當需要出棧的時候,我們用api提供的方法while sta...
環境複製專案中遇到的問題 Allione 新浪部落格
1 資料庫更新的時候,evaluate操作會執行一遍資料庫的操作,導致返回結果不一致,如下 此時用evaluate分析的結果是1,即按條件更新了一條資料,但是執行完之後卻變成了0,覺得很不可思議,又多次執行,依然是相同的結果。原因 evaluate分析 的時候,已經相當於執行了一次,即更新了一次資料...