springboot整合shiro整合redis的时候,shiro使用redis做缓存,但是redis使用lettuce连接池,包冲突问题

杜河
2023-12-01

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>-->

 类似资料: