分布式学习笔记之分布式锁

  • 概述
    在单机情况下,我们知道也是存在锁的概念,但是那些锁在分布式情况下就没用了,因为不是内存共享的,没办法通信,所以我们要学习分布式锁,主要有三种实现方式 ,分别基于redis,mysql,zookeeper

  • redis分布式锁

     <dependency>
        <groupId>org.redisson</groupId>
         <artifactId>redisson</artifactId>
         <version>3.11.4</version>
     </dependency>
    
    public class RedissionTest {
          
          
    
        private static RedissonClient redisson;
    
       static {
          
          
           Config config = new Config();
           //config.setTransportMode(TransportMode.EPOLL);
    
           config.useSingleServer().setAddress("redis://127.0.0.1:6379");
    
            redisson = Redisson.create(config);
       }
    
    
        public static void main(String[] args) {
          
          
    
            RLock wxx = redisson.getLock("wxx");
    
            wxx.lock();
    
            //wxx.unlock();
        }
    }
    

    说明: 作为curd boy 直接使用解决方案的框架redission就可以了,引入相关jar包,将配置配置好创建redisson对象,就可以像使用JDK的锁一样使用了。其实我们也可以调用redis自己实现,但是有时间过期的问题,以及获取锁失败的线程需要缓存下来等待等问题要解决。redission这个框架帮我们做了这些,所以大可放心使用。

猜你喜欢

转载自blog.csdn.net/weixin_38312719/article/details/105207061