優惠券領取--Java電商

歸納一下修改後的邏輯: 1.查詢緩存,如果緩存存在,返回結果 2.緩存不存在,查詢數據庫 3.爭奪分佈式鎖 4.成功獲得鎖,再次判斷緩存的存在 5.如果緩存仍舊不存在,把查詢數據庫的結果循環放入緩存 6.釋放分佈式鎖 這種二次判斷存在性的機制有一個專門的名字,叫做雙重檢測。該方法在線程安全的單例模式中也常常被用到。 幾點補充: 1.文中所使用的分佈式鎖,其實並不是「正宗」的分佈式鎖,當線程爭奪鎖失
相關文章
相關標籤/搜索