redis分布式锁实现原理

数据结构

redis提供了5种数据结构,分别是String,Hash,List,Set,Sorted-Set
其中,能实现分布式锁的有String
具体实现原理:插入String数据的命令是set k v,这个命令是无论k是否存在都会插入到redis,而如果k存在,则会覆盖前一个value的值
这个set命令 还可以传其他参数,譬如 set k v Ex [second] NX,其中[second]是传入的秒数,表示当前k的过期时间,NX是表示如果k不存在,则插入到redis,同时返回1
如果key存在,则不插入,同时返回0。
所以我们可以利用这个过期时间与NX的命令去做分布式锁的实现

你可能感兴趣的:(redis,nosql,java,redis,服务器,分布式)