基于redis做分布式锁
1. setnx其实是set key nx,做分布式锁的问题是担心获取到锁的那个线程还没执行del得时候挂了,key会永久存在,可以给key加上expire,其实就是setnx key ex xxx nx 但如何确定expire多大呢?没法确定,所以一般在expire之前做一个续期操作,用独立线程做
2. 另一种做法是还是用setnx,如果获取不到,则先get,value是v1, 再取getset,返回v2,如果v1==v2则说明获取到锁了,否则获取失败
作者:bytesmover
出处: https://www.cnblogs.com/longbozhan/p/18066459
如果您觉得本文对您有帮助,请点击一下右下方的推荐按钮, 如果您对本文有任何疑问并想和作者探讨,请在本文下方评论,我看到后将第一时间回复!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。
出处: https://www.cnblogs.com/longbozhan/p/18066459
如果您觉得本文对您有帮助,请点击一下右下方的推荐按钮, 如果您对本文有任何疑问并想和作者探讨,请在本文下方评论,我看到后将第一时间回复!
版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。