320x100
320x100

1. 반드시 TTL (Time-To-Live)을 설정하라 

- Redis에 데이터를 저장할 때 TTL을 설정하여 메모리 자원 낭비를 방지해야한다

- 데이터의 최신성 보장

- 캐시 데이터의 정합성 유지

- 장애 상황에서의 자동 정리

 

 

2. 하나의 키에 사이즈가 큰 데이터를 저장하지 마라 (Big Key Problem)

- 일반적으로 크기가 1MB를 초과하는 문자열 유형 값이나 10,000개가 넘는 요소를 포함하는 컬렉션 유형 키를 큰 사이즈로 간주

- 메모리 소비 및 단편과 발생

- 성능 저하 / 과도한 리소스 유발 / 동기화 지연 / 데이터 불균형

 

 

3. Redis의 다양한 Date Type을 활용하라

- Redis는 캐싱과 세션 관리 외에 다양한 곳에 활용할 수 있다

- 정렬이 필요하면 Sorted Set

- 객체를 그대로 저장하기 보다는 Hash를 사용하라

 

 

 

4. Hot Key 만료 시 주의하라

- 많은 사람들이 Redis를 메인 DB가 아닌 원천 DB의 캐싱을 위해 많이 사용

- 캐싱하려고 저장한 데이터의 TTL이 만료되면 일반적으로 원천 DB를 조회함

- 요청이 집중되는 캐시 키를 흔히 핫키(Hot Key)라고 함

- 핫키의 TTL이 만료되면 Redis로 관리하던 수많은 요청이 원천 DB로 몰리게되고 부하가 발생

- 이 현상을 해결하기 위해 백그라운드에서 주기적으로 캐시를 갱신하거나 매 요청마다 일정 확률로 캐시를 갱신하는 PER 알고리즘을 적용하는 것을 권장

 

 

 

 

 

 

 

Reference

 

개발자가 알면 좋은 Redis 꿀팁 모음 | 올리브영 테크블로그

실무에서 바로 쓰는 Redis 핵심 팁 공유

oliveyoung.tech

 

300x250
728x90