Redis out of memory에 대해서

h블로그·2022년 10월 12일

redis

목록 보기
3/3

redis에서 메모리 부족이 생기면 어떻게 동작할까?
그대로 에러가 날까?
어플리케이션 단에서 조작하여 예방할수 있을까?

https://server-talk.tistory.com/479

글을 통해서 maxmemory-policy 를 레디스 서버에 설정해야 한다고 파악했다.

옵션 값

  • noeviction : 기본값. OOM 발생시 애플리케이션에 장애 발생으로 전파.
  • volatile-lru : 만료값이 정해진 것들 중 가장 오랫동안 사용하지 않은 값을 삭제한다.
  • allkey-lru : 가장 오랫동안 사용하지 않은 값을 삭제한다.

결론

어플리케이션에서 조작할 순 없다.
레디스 설정을 보아야 하는데, 우리는 aws elastiCache를 쓰고 있다.

aws에 검색해보았더니 친절한 문서가 있다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/oom-command-not-allowed-redis/

파라미터 그룹의 maxmemory-policy 설정을 따르고, maxmemory-policy의 기본값은 volatile-lru 라고 한다.

ttl을 설정했기 때문에 OOM이 난다고 어플리케이션으로 장애가 전파되지 않을 것이다.

profile
😎🙈🙈🙈🤓

0개의 댓글