赞
踩
针对单机分布式锁还是存在锁定续期、可重入的问题,本文将采用 Spring Boot 集成 Ression 实现分布式锁进行详细讲解。
引入 jar 包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.13.6</version>
</dependency>
说明:关于集成 Redisson,我们需要注意与 Spring Boot 的版本对应。具体对应的关系如下:
注意:3.13.6 对应的 Spring Boot 的版本为 2.3.0,而 redis-spring-data 为 redis-spring-data-23。我们可以通过查看 pom 文件的引用从而得到依赖关系。
Redisson 的配置
application.yml 中引入 redisson.yml 配置
redis:
redisson:
file: classpath:redisson.yml
redisson.yml 配置
singleServerConfig:
password: xxxx
address: "redis://127.0.0.1:6379"
database: 1
threads: 0
nettyThreads: 0
codec: !<org.redisson.codec.FstCodec> {}
transportMode: "NIO"
说明:本文配置的是单机环境,如果需要配置集群环境,可以采用如下配置:
clusterServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveCheckInterval: 60000
password: null
subscriptionsPerConnection: 5
clientName: null
loadBalancer: !<org.redisson.con
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。