springboot集成redisson

添加依赖:
<dependency>  
           <groupId>org.redisson</groupId>  
           <artifactId>redisson</artifactId>  
           <version>3.5.0</version>  
       </dependency>  
yml配置文件:

单机配置:redisson-single.yml

singleServerConfig:  
 idleConnectionTimeout: 10000  
 pingTimeout: 1000  
 connectTimeout: 10000  
 timeout: 3000  
 retryAttempts: 3  
 retryInterval: 1500  
 reconnectionTimeout: 3000  
 failedAttempts: 3  
 password: 123456  
 subscriptionsPerConnection: 5  
 clientName: null  
 address: "redis://192.168.200.64:6379"  
 subscriptionConnectionMinimumIdleSize: 1  
 subscriptionConnectionPoolSize: 50  
 connectionMinimumIdleSize: 32  
 connectionPoolSize: 64  
 database: 0  
 dnsMonitoring: false  
 dnsMonitoringInterval: 5000  
threads: 0  
nettyThreads: 0  
codec: !<org.redisson.codec.JsonJacksonCodec> {}  
"transportMode":"NIO"  

集群配置:redisson-cluster.yml

clusterServersConfig:  
 idleConnectionTimeout: 10000  
 pingTimeout: 1000  
 connectTimeout: 10000  
 timeout: 3000  
 retryAttempts: 3  
 retryInterval: 1500  
 reconnectionTimeout: 3000  
 failedAttempts: 3  
 password: null  
 subscriptionsPerConnection: 5  
 clientName: null  
 loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}  
 slaveSubscriptionConnectionMinimumIdleSize: 1  
 slaveSubscriptionConnectionPoolSize: 50  
 slaveConnectionMinimumIdleSize: 32  
 slaveConnectionPoolSize: 64  
 masterConnectionMinimumIdleSize: 32  
 masterConnectionPoolSize: 64  
 readMode: "SLAVE"  
 nodeAddresses:  
   "redis://redis-server:6371"  
   "redis://redis-server:6372"  
   "redis://redis-server:6373"  
 scanInterval: 1000  
threads: 0  
nettyThreads: 0  
codec: !<org.redisson.codec.JsonJacksonCodec> {}  
"transportMode":"NIO"  
注入bean,自动加载配置文件:
import org.redisson.Redisson;  
import org.redisson.api.RedissonClient;  
import org.redisson.config.Config;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
import org.springframework.core.io.ClassPathResource;  
 
import java.io.IOException;  
 
@Configuration  
public class RedissonConfig {  
 
   @Value("${redisCluster}")  
   private boolean redisCluster;  
 
   @Bean  
   public RedissonClient redissonClient() throws IOException {  
       return Redisson.create(  
               Config.fromYAML(new ClassPathResource("redisson-" + (redisCluster ? "cluster" : "single") + ".yml").getInputStream())  
       );  
   }  
}  
使用:
@Component  
public class test{  
  
    @Autowired  
    private RedissonClient redissonClient;  
      
      
    public void test(){  
        RLock lock= redissonClient.getLock("test");  
         try {  
                lock.lock();  
                ......业务代码略  
         } catch (Exception ex) {  
                log.error("同步数据到中心失败", ex);  
            } finally {  
                lock.unlock();  
            }  
  
    }  
}  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值