zoukankan      html  css  js  c++  java
  • redis分布式锁

    redis有一版客户端对分布式锁有很好的支持,所以我使用的是该客户端

    首先添加客户端依赖

    <dependency>
                <groupId>org.redisson</groupId>
                <artifactId>redisson-spring-boot-starter</artifactId>
                <version>3.10.2</version>
    </dependency>

    然后添加redis客户端的信息配置

    spring.redis.host=localhost
    spring.redis.port=6379
    spring.redis.password=123456
    spring.redis.timeout=3600
    spring.redis.database=1
    spring.redis.jedis.pool.max-active=8
    spring.redis.jedis.pool.max-wait=1
    spring.redis.jedis.pool.max-idle=500
    spring.redis.jedis.pool.min-idle=0

    最后添加工具类即可

    package com.voole.platform.util;
    
    import java.util.concurrent.TimeUnit;
    
    import org.redisson.api.RLock;
    import org.redisson.api.RedissonClient;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;
    
    /**
     * 
     * <P>Description:
     * 使用RFuture 异步获取锁 </P>
     * @ClassName: DistributedLockByRedis
     * @author 冯浩  2019年3月20日 上午9:53:41
     * @see TODO
     */
    @Component
    public class DistributedLockByRedis {
        
        @Autowired
        private RedissonClient client;
        
        public boolean lock(String key) {
            RLock lock = client.getLock(key);
            boolean trylock = false;
            try {
                trylock = lock.tryLock(60, TimeUnit.SECONDS);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return trylock;
        }
        
        public void release(String key) {
            RLock lock = client.getLock(key);
            if(lock.isLocked()) {
                lock.unlock();
            }
            
        }
    }
  • 相关阅读:
    C/C++学习的50个经典网站
    C++ 调用C++写的函数库的2种方法之一(显式调用)
    C++ 调用C++写的类库的2种方法之一(隐式链接)
    几个第三方yum源
    网站运维管理工具
    网站架构文章收集
    linux setup 相关text mode图形配置工具的安装
    nfs 安装配置
    centos6.4 minimal 安装kvm
    keepalived
  • 原文地址:https://www.cnblogs.com/nihaofenghao/p/10563285.html
Copyright © 2011-2022 走看看