springboot的lock方法對應redis的哪個?
springboot的lock方法對應redis的spring-boot-lock-starter 。它是基于redis實現的簡單分布式鎖。軟件面向接口編程,同時兼顧基于zk或者其他實現的方便擴展。
基于redis的分布式鎖實現,主要依賴以reids 的set命令 和get del 的lua腳本。同時對鎖做了注解封裝,預留是否啟用分布式鎖、和是否啟用默認redis實現類完成分布式鎖的擴展。
加鎖過程主要是調用redis的set命令,其中NX和PX表示當key存在時設置失敗,超過過期時間自動刪除key。需要注意的是低版本的redis是不支持set 傳多個參數的。方法做了個遞歸調用,允許嘗試tryNum次加鎖。
采用加鎖過程和解鎖代碼實現,注解封裝,并定義注解的切面。最后,進行拓展測試,實現lock方法。