使用 SETNX(Set if Not Exists) 命令尝试设置一个键值对。如果键不存在,则设置成功并返回 1;如果键已存在,则设置失败并返回 0。
EXPIRE:为键设置一个过期时间,防止因客户端崩溃导致锁无法释放的情况(避免死锁)
DEL:当持有锁的客户端完成操作后,需要删除该键以释放锁
从 Redis 2.6.12 版本开始,Redis 支持通过一条命令来完成加锁和设置过期时间的操作
SET resource_name(锁的名称) my_random_value(唯一字符串标识) NX (键不存在时才开始标识)PX milliseconds_timeout(设置键的过期时间为指定的毫秒数,超时后自动释放锁)