redis分布式锁

阅读更多
redis分布式锁原理
redis命令
setnx(key,value):SET if Not eXists,当且仅当key不存在时,value值才能成功设值,返回成功;当key已存在,则设值失败,返回失败 getSet(key,value):将给定key 的值设为value,并返回key的旧值 expire(key,timeout,timeUnit):设值key的过期时间 delete(key):删除key

加锁
调用setnx(key, value)返回成功,则表明成功获取到锁,获取到锁后,设置key的过期时间;调用setnx(key, value)返回失败,则表明别的线程已占有该锁,需等到别的线程释放锁后,当前线程才能获取到锁;

释放锁
调用delete(key),删除当前的key,即释放锁;

SpringBoot实现redis分布式锁

具体请参考微信公众号文章,格式比较清晰
https://mp.weixin.qq.com/s/mhQMkPMdULBeK5qC-9Z7KA

你可能感兴趣的:(redis)