在以前的時候通常經過zookeeper來實現分佈式鎖,可是zookeeper的速度確定比不上redis,由於redis是基於內尺寸的,redis也能夠實現分佈式鎖:redis
他的實現原理主要有兩點分佈式
1:衆所周知redis 是單線程的,他會把外界命令放到一個隊列中有序的執行,因此不存在競爭的可能線程
2:主要使用setNX(set if not exist)在set的時候若是set成功,返回1,若是裏面有值了就返回0隊列
那麼咱們就能夠利用這個特性來實現分佈式鎖,若是是1表示獲取鎖成功,0表示獲取鎖失敗。原理
待續...zookeeper