目录 一、分布式锁是什么 1、获取锁 2、释放锁 二、代码实例 上面代码存在锁误删问题: 三、基于```SETNX```实现的分布式锁存在下面几个问题 1、不可重入 2、不可重试 3、超时释放 4、主从一致性 四、Redisson实现分布式锁 1、pom 2、配置类 3、测试类 五、探索tryLock源码 1、tryLock源码 尝试获取锁 2、重置锁的有效期 更新有效期 3、调用lua脚本 六、释放锁unlock源码 1、取消更新任务 2、删除定时任务 NoSQL数据库进阶实战 哪吒精品系列文章 一、分布式锁是什么 分布式锁是 满足分布式系统或集群模式下多进程可见并且互斥的锁。 基于Redis实现分布式锁: 1、获取锁 互斥:确保只能有一个线程获取锁; 非阻塞:尝试获取锁,成功返回true,失败返回false; 添加锁过期时间,避免服务宕机引起死锁。 SET lock thread1 NX EX 10 2、释放锁 手动释放;DEL key1 超时释放,获取锁时添加一个超时锁; 二、代码实例 package com.guor.utils; import