이이지영inblog.finders.it.kr·Feb 9 · 2 min read[Redis] Redis 캐시 방어 로직 추가 및 Upstash 연결하기드디어 Redis가 죽으면 어떻게 할지 방어 로직을 추가했다. 1. 조회 캐시 vs 인증/토큰 먼저, Redis가 다운되는 것뿐만 아니라 지연되는 것도 생각해야 된다. 그래서 redis가 다운/지연된다면 DB로 fallback 하는 로직을 추가하게 되었다. 하지만 지금 redis를 사용하는 부분은 인기글 조회, 인기 현상소 조회와 인증/토큰 부분이었다. Redis -> 실패/타임아웃 -> DB 조회 조회 캐시는 이런 흐름으로 방어 로직을 넣...00
이이지영inblog.finders.it.kr·Feb 9 · 2 min read[Redis] Redis 캐시 설정 수정 - DefaultTyping.EVERYTHING 삭제지난번에 설정한 DefaultTyping.EVERYTHING에서 보안 문제가 생길 수 있다는 이슈를 들었다. 그래서 이번엔 그 부분을 제거하는 방향으로 수정하게 되었다. 1. DefaultTyping.EVERYTHING의 문제점 처음 설계는 Redis용 ObjectMapper에 DefaultTyping.EVERYTHING를 써서 모든 캐시 데이터에 강제로 자바 클래스 정보(@class)를 다 넣는 구조였다. 하지만 이러면 몇 가지 문제가 생기...00
이이지영inblog.finders.it.kr·Feb 9 · 3 min read[Redis] Redis 캐시 적용하기 - 인기글 조회 적용지난번 진행했던 Redis 초기 세팅을 바탕으로 오늘은 홈페이지의 인기 게시물 조회 API에 캐시를 적용했다. 인기 게시물은 좋아요 수 기준으로 상위 10개를 불러온다. 실시간으로 데이터가 급격히 변하지 않지만 메인 페이지의 특성상 호출 빈도가 매우 높다. 매번 DB를 조회하는 대신 Redis 캐시를 사용해 성능을 개선했다. 1. RedisConfig 설정 @Configuration @EnableCaching public class Redis...00