第一步上maven
<dependency>
<groupId>com.github.kstyrc</groupId>
<artifactId>embedded-redis</artifactId>
</dependency>
第二步
@Autowired
private StringRedisTemplate redisImpl;
private static RedisServer redisServer;
@SneakyThrows
@BeforeAll
static void setUpRedis() {
redisServer = RedisServer.builder().port(6379).setting("maxheap 200m").setting("bind localhost").build();
// redisServer = new RedisServer(6379);
redisServer.start();
}
@AfterAll
static void close() {
redisServer.stop();
}
第三步
String data = redisImpl.opsForValue().get(key);
redisImpl.opsForValue().set(key, new ObjectMapper().writeValueAsString(cache));
第四步:跑几次测试后有可能会报错,报错信息:Can’t start redis server. Check logs for details.
网上查到说是连续的内存空间不足.
解决方法:windows的任务管理器-redis-server-XYZ.exe-结束任务
本文介绍了如何在SpringBoot项目中进行集成测试,并详细讲解了在测试过程中遇到Redis服务器启动失败的问题,特别是当出现'Can’t start redis server. Check logs for details.'错误时,分析了该错误可能是由于连续内存空间不足导致。解决方案是在Windows环境下通过任务管理器结束运行的Redis服务进程。
547





