最近在規范平臺緩存使用時發現,很多業務用到了 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視頻教程欄目進行學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END