springboot整合shiro整合redis的时候,shiro使用redis做缓存,但是redis使用lettuce连接池,包冲突问题
shiro-redis包中有jedis
springboot的redis包中有lettuce
dev-yml中配置了lettuce,但是缺默认使用jedis的包.老是报read time out的错误
解决方法,引入一个连接池的包
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
基本配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
//在用使用shiro的情况下集成redis,可以带这个依赖,shiro-redis已经实现了shiro的redis缓存和session管理
//如果shiro和redis集成但是不交互,可以不引入,可以自定义
<dependency>
<groupId>org.crazycake</groupId>
<artifactId>shiro-redis</artifactId>
<version>3.1.0</version>
</dependency>
与reids缓存冲突:
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-devtools</artifactId>-->
<!--<optional>true</optional>-->
<!--</dependency>-->