redis分布式锁使用set(key,value,60,NX),当key不存在set返回1,就相当获取到锁,然后就可以执行业务逻辑.如果返回的是0,则获取锁失败。设置key的过期时间过期就相当于释放锁,其他线程这时候可以获取该锁。在释放锁时,首先判断ke对应的值是否在同一线程中,如果在则执行完成后将删除key来释放锁,这样的好处就是一旦业务逻辑没有执行完而过期时间到了,这样可能会删除其他线程的锁的。
https://baijiahao.baidu.com/s?id=1730716661153081344&wfr=spider&for=pc添加链接描述