分布式锁:控制分布式系统或者不同应用访问共享资源时互斥
主要需要解决四个问题:互斥性、安全性、死锁、容错
- setnx key value:如果key不存在,则创建并赋值 expire key seconds:给key设置过期时间
以上两个命令搭配使用可以实现分布式锁,但是可能会出现set成功但是未执行到expire程序就崩了,共享资源就无法被其他应用使用 - set key value [EX seconds|PX milliseconds] [NX|XX] EX
seconds:设置key的过期时间为秒 PX milliseconds:设置键过期时间为毫秒 NX:只在键不存在时候,才对键进行设置
XX:只在键存在时候,才对键进行设置