不可重入redis分布式锁: 原理:利用setnx的互斥性;利用ex避免死锁;释放锁时判断线程标识。 缺点:不可重入、无法重试、锁超时失效。 可重入redis分布式锁: 原理:利用hash结构,记录线程标识和重入次数;利用watchDog更新锁的时间;利用消息订阅、信号量控制重试等待。 缺点:redis宕机引起锁失效问题。 RedisSon的连接锁: 原理:多个redis节点,必须获取所有节点的锁,才算获取锁成功。 缺点:运维成本高,实现复杂。