본문 바로가기

Java

Spring Embedded Redis 사용하며 겪은문제

redis가 현재 프로젝트를 진행하면서 정말 많은 고통을 준다.

초기에도 그랬고 지금도 그렇다

"Can't start redis server. Check logs for details"

 

이 문구가 날 돌아버리게한게 대체 몇번인지 셀수조차없다

 

초기에 항상 빌드후 실행할때마다 프로세스에서 redis server를 찾아 끄거나

인텔리제이를 껐다켜거나 최후에는 재부팅하고나면 해결이 됐었고

최초 첫번째 실행때는 반드시 실행이 됐었는데

오늘은 또 갑자기 첫실행조차 실패했다

 

gradle에서 redis 버전도 올려보고 포트도 바꿔보고 하던끝에 결국 찾아낸 해결법

EmbeddedRedisConfig에서

 

    @PostConstruct
    public void start() {
        redisServer = new RedisServer(6379);
        redisServer.start();
    }

 

이랬던 기존코드를

 

    @PostConstruct
    public void start() {
        redisServer = RedisServer.builder()
                .port(6379)
                .setting("maxmemory 128M")
                .build();
        redisServer.start();
    }

 

이렇게 maxheap을 지정해준뒤론 문제없이 잘 돌아간다

 

 

앞으로는 embedded redis로 더 고통받지 않았으면 좋겠다