redis 2

[Calenduck] 6초를 59ms로 줄인 Redis 캐싱 적용기

문제 상황이전 글에서 멀티스레드 + 배치 처리로 49초 → 6초까지 줄였음.근데 막상 서비스로 쓰려니까 6초도 느림.메인페이지 들어갈 때마다 6초 기다리는 건 사용자 경험상 문제가 있음.특히 새로고침할 때마다 6초씩 걸리면 답답함.근데 생각해보면:공연 정보가 초 단위로 바뀌는 게 아님하루에 한 번 정도 갱신해도 충분함같은 데이터를 매번 API 호출해서 가져오는 건 낭비캐싱을 적용하면 해결될 문제임.원인 분석왜 캐싱을 처음부터 안 했는가?처음 설계할 때 "KOPIS 데이터는 실시간으로 바뀔 수 있다"는 가정 때문에 캐싱을 피했음.근데 실제로 확인해보니:공연 정보가 하루에 여러 번 바뀌는 경우는 거의 없음대부분 신규 공연 등록, 종료 공연 삭제 정도기존 공연의 출연진이나 가격이 수시로 바뀌지 않음"실시간 최..

공모전 2026.02.08

Redis의 문제점

프로젝트를 진행하고 약 3주의 시간이 지났다. 3주동안 프로젝트 설계와 mvc 개발을 진행했고 오류의 범위를 좁히고자 최대한 명확한 코드를 작성하기로 했었다. 예를 들어 중복검사와 같은 기능이 필요하다면 jpa를 사용한 find가 아닌 exist를 사용해 boolean 값으로 반환시켜 해당 코드를 작성하지 않은 팀원도 알기 쉽게 하였다. 그리고 변수명과 함수명을 지으며 많은 고민을 했던 것 같다. 약 3주의 시간이 이렇게 지나고 멘토님과 중간 발표 시간이 있었고 사전 질문으로 아래와 같은 질문을 받았다. --- 질문 --- Redis는 메모리 DB라서 서버가 리부팅되면 모든 데이터가 삭제됩니다. 이런 관점에서 서버를 리부팅해야 할 일이 발생했을 때 인기 검색어가 노출되지 않을 수 있을 것 같은데요. 어떻..

TIL 2023.04.25