redis 2

[공모전] 메인페이지 전체조회 속도 개선

open api를 사용하여 약 6200개의 데이터를 불러온다. 가져온 데이터를 사용자가 볼 수 있도록 프론트에 넘겨주는 과정에서 1분을 넘기거나 더 걸리기도 했다. 이 말은 웹 페이지에 들어갔을 때 전체 데이터가 보여지는데 걸리는 시간이 1분을 넘긴다는 소리였고 말도 안되는 부분으로, 1분이 넘게 걸렸던 이유는 약 6200개의 데이터를 1번부터 6200번까지 순차적으로 불러오는 로직이 문제였다. 1번부터 6200번까지 순차적인 실행이 아닌 동시에 실행하는 멀티스레드로 1차 개선하였고 실제로 속도 또한 크게 바뀌었다. 하지만 여전히 개선이 필요했고 다음으로 생각한 방법은 전체 데이터에대한 페이징 처리였다. 페이징처리의 간단한 설명으로는 한 페이지에 내가 설정한 데이터 갯수만큼 담아 요청에 보내는 것이고, ..

공모전 2023.06.27

Redis의 문제점

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

TIL 2023.04.25