环境准备
开发工具:IntelliJ IDEA 2019.3.5
配置工具:Maven
其它版本:Spring Boot 2.x + Jdk8+redisson
配置文件
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.9.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
测试类
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RedissonBootApplicationTests.class)
public class RedissonBootApplicationTests {
private String password, host;
private int port, timeout, database, maxActive, minIdle,connectTimeout;
@PostConstruct
public void postConstruct() {
port = 6379;
timeout = 5000;//等待节点回复命令的时间。该时间从命令发送成功时开始计时。
connectTimeout=5000;//同任何节点建立连接时的等待超时。时间单位是毫秒
database = 1;
maxActive = 100; //设置对于master节点的连接池中连接数最大为500
minIdle = 5;
host = "127.0.0.1";
password="123456";
}
@Test
public void redissonClient() {
Config config = new Config();
SingleServerConfig serverConfig = config.useSingleServer().setAddress("redis://" + host + ":" + port)
.setTimeout(timeout)
.setDatabase(database)
.setConnectionPoolSize(maxActive)
.setConnectionMinimumIdleSize(minIdle);
if (StringUtils.isNotEmpty(password)) {
serverConfig.setPassword(password);
}
RedissonClient redissonClient = Redisson.create(config);
System.out.println("redis create successfully."+redissonClient.getConfig());
RBucket<String> keyObject = redissonClient.getBucket("key1");
keyObject.set("Hello World.");
}
运行情况
运行RedissonBootApplicationTests
可以看到把值已经插入到数据库中了,如下图
总结
本次主要是用redisson-spring-boot-starter
的方式集成,网上也有很多是直接用redisson的jar包去做,现redisson
团队也已经做成spring-boot-starter
了,方便集成和使用,推荐使用这种方式集成
另,还有其它的工具如Lettuce、Jedis等,后面再慢慢去研究,redisson的分布式锁同步会再更新。
如有问题,欢迎有问题及时交流。谢谢!