使用redis的setnx实现分布式锁(python实现)
在实际开发场景中,可能会出现多个服务可能会同时调用同一个方法的情况,但是想要保证在一定的时间内该方法只能被一个服务调用。1.单线程:首先redis本身是单线程的,当有多个线程同时访问redis的时候,一定是一个一个线程的按照顺序的访问redis,因此这是使用redis实现分布式锁的一个原因。2.原子性:setnx具有原子性,当有多个线程时,只会有一个线程可以使用setnx设置成功。3.特点:当有重复的锁key的时候setnx查询缓存就会返回false或者空,那我们可以利用它的这种机制去实现多个服务的同时调用
原创
2022-07-02 19:00:33 ·
1590 阅读 ·
0 评论