redis鎖的實現

2021-08-17 03:47:44 字數 913 閱讀 6013

redis鎖的實現,有自己的工具類

import com.yoho8.framework.cache.icache;

import com.yoho8.framework.cache.bean.key;

import com.yoho8.framework.enums.moduleenum;

import com.yoho8.framework.log.logutil;

/**

* @author create by mengweidao 2018/3/14 0014

*/ public class lockutil

/** * 嘗試加鎖

* @param lockkey 鎖的唯一標識

* @return

*/private boolean innertrylock(string lockkey)else

}return false;

}}/**

* 對外提供的加鎖方法

* @param lockkey 鎖標識

* @param timeout 單位:秒 嘗試獲得鎖的有效時間,在這個時間內不斷嘗試獲取鎖

* @return

*/public boolean trylock(string lockkey, long timeout)else else }}

return result;

}catch (exception e)

}/**

* 釋放鎖

* @param lockkey

*/public void realselock(string lockkey)

private boolean checkiflocktimeout(long currenttime, string lockkey)else

}

Redis實現樂觀鎖

悲觀鎖 樂觀鎖 127.0.0.1 6379 set money 100 ok127.0.0.1 6379 set out 0 ok127.0.0.1 6379 watch money 監事 money 物件 ok127.0.0.1 6379 multi 事務正常結束,資料期間沒有發生變動,這個時候...

redis實現樂觀鎖

redis測試監控 正常執行成功!127.0.0.1 6379 set money 100 ok127.0.0.1 6379 set out 0 ok127.0.0.1 6379 watch money 監視money物件 ok127.0.0.1 6379 multi ok127.0.0.1 637...

使用Redis實現樂觀鎖

事務是乙個單獨的隔離操作 事務中的所有命令都會序列化 按順序地執行。事務在執行的過程中,不會被其他客戶端傳送來的命令請求所打斷。事務是乙個原子操作 事務中的命令要麼全部被執行,要麼全部都不執行。這點和mysql的事務不太一樣,在mysql事務開啟後,當操作中存在異常,則會導致事務回滾,不會出現資料異...