//1.springBoot2.0以后默认使用lettuce作为操作redis的客户端,它使用netty进行网络通信。
//2. lettuce的bug导致netty堆外内存溢出 -xmx300m netty 如果没有指定堆外内存,默认使用-Xmx300m
//内存不会释放 不能只调大才内存
// 解决方案 升级lettuce客户端,2.切换使用jedis
//切换jedis
//1.排除lettuce
<!--引入redis-->
<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>
//2.引入jedis
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
redis产生堆外内存溢出:OutOfDirectMemoryError
最新推荐文章于 2024-08-16 15:16:19 发布
这篇博客讨论了SpringBoot 2.0及以上版本默认使用Lettuce作为Redis客户端的问题,由于Lettuce的一个bug可能导致Netty堆外内存溢出。作者建议了解这个问题的解决方案,包括升级Lettuce版本或者切换到Jedis。提供了排除Lettuce依赖并引入Jedis的Maven配置示例。
摘要由CSDN通过智能技术生成