You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
캐싱을 어떠한 경우에 사용할 것인지에 대한 해결 방법
: 검색시의 Redis를 사용하여 데이터 캐싱을 사용하여 조회결과를 향상시켰습니다.
Redis의 장점
Redis의 경우 데이터를 메모리에 저장하는 특징을 가지고 있습니다.
1번의 특징으로 인해 MySQL DB에 접근시보다 더 낮은 데이터 처리속도를 보장합니다.
또한 Redis데이터는 Redis의 설정에 따라 String,Set,List,JSON 등의 다양한 데이터 타입을 지원합니다.
서버에서 장애가 발생하더라도 Redis에 저장된 데이터를 사용하여 복구가 가능합니다.
Redis의 단점
싱글 스레드 형태를 가지고 있습니다.
1번의 이유를 통해 하나의 명령어가 완료되기 전까지는 다른 명령어들은 블로킹이 되어 성능 저하가 발생할 수 있습니다.
단점을 해결하기 위한 방법
과정
시간복잡도 O(n)을 가지고 있는 RedisTemplate의 Keys(Pattern)의 경우 대용량 트래픽일수록 처리시간이 높으며, 해당 Keys 명령어가 수행되기 전까지 다른 명령어들은 블로킹되는 현상이 있었습니다.
해결
Keys를 사용한 전체 데이터에 대한 조회를 ScanOptions를 사용하여 count의 수만큼 끊어서 명령어를 실행하여 성능 저하에 대한 원인을 해결하였습니다.
gwo1004
changed the title
아이템 검색 API
REDIS 연동 및 아이템 검색 API 개발
Jan 8, 2024
gwo1004
changed the title
REDIS 연동 및 아이템 검색 API 개발
아이템 검색 API 개발 및 조회성능을 위한 레디스 연동
Feb 19, 2024
아이템 검색 API
캐싱은 어떠한 경우에 사용할 것인지?
확장성을 고려하여 트랜잭션을 어떻게 처리할 것인지?
The text was updated successfully, but these errors were encountered: