redis实现分布式锁

Redis实现分布式锁

分布式锁一般有三种实现方式:1、基于数据库乐观锁;2、基于Redis的分布式锁;3、基于Zookeeper的分布式锁。本文档主要介绍基于Redis实现分布式锁的方法。
1、加锁

// redis加锁
public boolean getLock(Jedis jedis,String key,int expire){
 String uuid =UUID.randomUUID().toString();
 String result = jedis.set(key,uuid,"NX","PX",expire);
 if(Objects.equals("OK",result)){
 logger.info("redis加锁成功");
 return true;
 }else{
 logger.info("redis锁已存在,加锁失败");
 return false;
 }
}
  • 第一个为key,我们使用key来当锁,因为key是唯一的。
  • 第二个为value,使用uuid便于解锁的时候确保解的是同一把锁。
  • 第三个为nxxx,这个参数我们填的是NX,
    参考:https://www.cnblogs.com/shenlei-blog/p/15597272.html
posted @ 2024-05-30 11:38  先锋之客  阅读(7)  评论(0编辑  收藏  举报