springboot集成测试内嵌Redis服务器

第一步上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-结束任务

经验分享 程序员 微信小程序 职场和发展