본문 바로가기

DB 접근 최소화2

프로젝트 일지 - 쿼리 통합: 여러 번의 db접근을 감소시키자(with springboot, mysql, mybatis) 들어가기 현재 진행하는 프로젝트는 지도 위에 게시 글을 작성하는 웹 사이트이다. 게시글 페이지에 접근 시 위도, 경도의 정보와 게시글이 가지는 기본적인 정보 및 좋아요, 댓글, 댓글 좋아요 등 정보들을 확인할 수 있도록 하였다. 사용자가 게시글 페이지에 접근 시, 프론트 서버에서는 백엔드에 한번 접근 시 위 정보들을 모두 얻지만, 백엔드 서버에서 DB에 접근하는 횟수는 4번이다. DB 접근할 때마다 얻는 내용은 아래와 같다. 게시글 상세 정보 조회 게시글에 회원이 좋아요를 눌렀는지 조회 게시글에 달린 댓글 리스트 조회 댓글마다 회원이 좋아요를 눌렀는지 조회 게시글 페이지를 들어갈 시, 위 4번의 DB에 접근하는 메서드가 실행된다. 서버는 DB에 접근하는 경우에 비용이 발생하므로 최적화를 위해선 DB 접근.. 2023. 12. 25.
Redis: In-Memory DB로서 뛰어난 성능 들어가기 항상 프로젝트를 진행할 때면 서버를 정하고 데이터베이스를 연결하고, 외부 API 요청 시 DB로부터 데이터를 가져오는 과정을 밟아 왔다. 데이터베이스로는 mysql을 주로 사용해 왔다. mysql을 사용하는 것만큼 익숙한 것이 캐시라는 것인데 캐시 하면 항상 거론되는 것 중 하나가 redis이다. 데이터베이스는 서버에서 디스크에 접근하여 데이터를 가져오는 것이지만, 캐시는 디스크에 데이터들을 메모리로 옮긴 후, 서버에서 디스크에 접근하는 것 대신에, 메모리 공간에 위치한 캐시에서 데이터를 가져오기 때문에 성능 향상을 이룰 수 있는 방법 중 하나이다. 이 글에서는 이러한 redis에 대해 기본적인 내용들을 작성할 예정이다. Redis란 무엇일까? 1. NoSql 로서의 Redis Redis는 20.. 2023. 9. 24.