1. 캐시를 사용하는 상황 쓰기보다 조회가 많이 일어나는 상황 평균 평점, 총 리뷰 수에 캐시를 사용하기 때문에 쓰기 연산보다 읽기 연산이 많이 발생 2. 쓰기 정책 : Write Through 전략은? 캐시와 백업 저장소에 업데이트를 같이 하여 데이터 일관성을 유지할 수 있어서 안정적 쓰기 작업이 많은 시스템이라면 눈에 띄는 지연을 유발 3. 쓰기 정책 : Write Back 전략은? Write-Back은 우선 캐시 메모리에만 데이터를 Write 하여 사용하다가 캐시 메모리가 새로운 데이터 블록으로 교체되는 때에 (다른 Tag를 가진 데이터가 캐시 블록에 할당될 때) 데이터를 주기억장치에도 저장하는 정책캐시 메모리에 있는 데이터를 여러 번 Overwrite하여 사용한 다음, 캐시 메모리가 해제되는 때에..
1. NoSQL이란? 기존 RDBMS 방식을 탈피한 데이터베이스를 의미 기존의 관계형 DB가 가지고 있는 특성뿐만 아니라 다른 특성들을 부가적으로 지원 RDBMS가 가지고 있는 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 가지고 있음 문서, 그래프, 키 값, 인 메모리, 검색을 포함해 다양한 데이터 모델을 사용 1.1 NoSQL 특징DBMS와 달리 데이터 간의 관계를 정의하지 않음RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있음반정형화, 비정형화된 데이터에 적합분산형 구조이고 확장성이 뛰어남고정되지 않은 테이블 스키마를 가짐 2. Redis란? Remote Dictionary Server의 약자로, 원격 Dictinary 자료구조 서버. 레디스는 세계에서 가장 인기 있..
1. 전역 예외 처리 Spring은 전역적으로 ExceptionHandler를 적용할 수 있는 @ControllerAdvice와 @RestControllerAdvice annotation을 제공 2. ControllerAdvice@ControllerAdivce는 여러 컨트롤러에 대해 전역적으로 ExceptionHandler를 적용 에러를 핸들링하는 클래스를 만들어 어노테이션을 붙여주면 에러 처리를 위임하게 됨 만약 특정 클래스에만 제한적으로 적용하고 싶다면, @RestControllerAdvice의 basePackages 등을 설정함으로써 제한이 가능 @RestControllerAdvice는 @ControllerAdvice와 달리 @ResponseBody가 붙어 있어 응답을 Json으로 반환 2.1 Co..
1. 스케줄링스케줄링은 어떤 작업(job)에 대해서 지정된 기간 혹은 시간에 수행하도록 하는 것 스프링부트에서 @Scheduled 어노테이션을 이용해서 간단하게 스케줄(배치) 작업을 할 수 있음. 2. @Scheduled 사용법 2.1 기본 설정Application 클래스에서 @EnableScheduling 어노테이션을 넣어서, 스케줄링 기능을 사용할 수 있는 상태로 만듦. 스케줄링 기능을 이용해서 수행할 Job에 @Scheduled 어노테이션으로 스케줄 시간을 설정10초 후에 처음으로 job을 수행하고, 매 10초마다 반복 수행@Service@Slf4jpublic class SchedulerService { @Scheduled(initialDelay = 10000, fixedDelay = 1000..