spring boot 2.x中 spring-boot-starter-data-redis默认客户端是lettuce。lettuce会有内存溢出的问题,所以,解决这个问题的简单方法就是换掉redis客户端。
主流的redis客户端有
- lettuce
- jedis
- redisson
所以,我们可以换jedis或者redisson
1.jedis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
2.redisson
由于redisson-spring-boot-starter中已经引用了spring-boot-starter-data-redis,所以可以只依赖redisson-spring-boot-starter
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
</dependency>