最近在規範平台快取使用時發現,很多業務用到了 reids 分散式鎖,但普遍存在一些細節問題,根據這些問題,本文將會嘗試總結分散式鎖常見的問題。
如果是單機環境,對於並發問題,直接用java提供的synchronized或Lock實作即可,而涉及到多進程環境,那麼就需要依賴一個第三方系統來提供鎖機制。 (推薦學習:Redis影片教學)
redis作為快取中間件系統,就能提供這個分散式(叢集)鎖定機制,其本質就是在redis裡面佔一個坑,當別的進程也要來佔坑時,發現已經被佔領了,就只要等待稍後再嘗試。
在java中我們一般這樣用:
boolean result = jedis.setnx("lock-key",String.valueOf(System.currentTimeMillis()))== 1L; if (result) { try { // do something } finally { jedis.del("lock-key"); } }
更多Redis相關技術文章,請造訪Redis資料庫使用入門教學欄位進行學習!
以上是什麼時候使用redis集群鎖的詳細內容。更多資訊請關注PHP中文網其他相關文章!