2024/08 2

Redis를 이용한 조회성능 향상시키기

프로젝트를 진행하던 중 아이템 조회 쪽이 자주 방문하게 되는 것을 알게되었다.설계에 대한 아쉬움이 있긴하지만 아이템 조회는 이미지를 가져오는 공간이기 때문에 매번 db에 접근하기위해 쿼리를 날린다는 것이 성능에 대한 이슈가 있을 것 같았다. 심지어 한번 조회할 때마다 30개의 쿼리가 날라간다. 그래서 자주 방문하는 곳을 성능을 생각하며 방문할 수 없을까라는 생각이 들었다. 검색해보니 인메모리 데이터 구조 저장소인 Redis를 알게되었고 캐싱개념을 공부해보았다. Redis란Key,Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스기반의 비관계형 데이터 베이스 관리 시스템이다. 데이터베이스, 캐시, 메세지, 브로커로 사용되고 인메모리 데이터 구조를 가진 저장소이다.인메모리란 무엇일까?In-m..

카테고리 없음 2024.08.31

000.get~~ vs ~~Repository.findBy000 차이

프로젝트를 하던 중 궁금중이 생겼다.제목 그대로  Character character = characterRepository.findByUserId(userPrincipal.getId()).orElseThrow(CharacterNotFoundException::new); List quests = character.getQuests();//둘의 차이는??qeustRepository.findByCharacter(character)이 둘의 차이가 궁금해졌다.List quests = character.getQuests();이 코드는 @oneTomany를 사용할 경우즉 양방향 관계에서 많이 사용된다.근데 개발을 하다보면 양방향 관계를 많이 사용하지 않게 된다.그래서 자연스럽게 qeustRepository.find..

카테고리 없음 2024.08.24