分布式锁

B站视频链接,讲的非常不错
redis没有原子性这一说。原子性,要么做,要么不做。
redis命令一览


具体实现
接下来着重介绍下基于redis的分布式锁实现

分布锁一般通过redis实现,主要通过setnx函数向redis保存一个key,value等于保存时的时间戳,并设置过期时间,然后返回true;
当获得锁超过等待时间返回false;
通过key获取redis保存的时间戳,如果value不为空,并且当前时间戳减去value值超过锁过期时间返回false;
如果一次没有获得锁,则每隔一定时间(10ms或者20ms)再获取一次,直到超过等待时间返回false。

posted @ 2022-07-16 19:04  渔_夫  阅读(20)  评论(0编辑  收藏  举报