本文主要目的在搭建基于IDEA的springboot+Redis环境时,深入了解springboot框架的相关机制,了解何时用配置文件,何时利用注解,尽可能清晰、完备的总结相关核心问题。
话不多少,进入主题。
1、搭建springboot+redis的方式有两种,它们分别如下:
方式一:基于RedisTemplate类 ,redisTemplate是springdate提供的管理redis的工具,springboot可以直接注入。
需要安装依赖:
<!-- springboot整合redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
方式二:基于jedis ,Jedis是Redis官方推荐的面向Java的操作Redis的客户端,jedis不需要注入直接调用就可以,如果想注入到spring中的话,需要创建jedis配置文件,配置文件的作用是在项目启动的时候将jedis注入,接着我们就可以在其他类中获取到JedisPool类的信息。
需要安装的依赖:
<!-- redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
本项目采用的方式是基于方法二,即利于jedis,通过创建jedis配置文件的方式,注入jedisPool类信息。
2、项目架构如下所示:
3、从项目正常启动开始说明各个文件的作用以及相关配置说明
a》pom.xml内容 主要是添加redis jar
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!-- Log4J -->
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
b》本项目还是采用的springboot的默认配置文件--application.properties,配置文件里面主要配置的是tomcat的端口(默认是8080,本项目改成9999,如果tomcat的端口默认是8080,就不需要增加server.port的配置了),以及redis的相关配置。
注意:springboot的版本不同,相应redis的配置也不同。redis的pool属性在springboot版本1.4后,该属性就被封装到jedis中了。本项目springboot的版本是2.0.4,因此配置如下:
server.port=9999
#redis
spring.redis.hostName=132.232.28.164
spring.redis.port=6379
#springboot版本为2.0.2RELEASE中的RedisProperties配置文件类,从图中可知pool属性则被封装到了内部静态类Jedis和Lettuce中去了
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)