캐시(Cache) 와 캐싱 전략(Caching Strategy)
·
Backend
개요콘서트 예약 프로젝트에서 API 응답 속도 개선과 서버 부하 감소를 위해 캐시를 적용하려 한다.이를 위해 캐시의 개념과 다양한 캐싱 전략을 학습하고, Redis를 활용하여 캐시를 구현하는 방법을 알아보자.캐시(Cache) 란?캐시(Cache)는 컴퓨터 시스템에서 자주 사용되는 데이터나 값을 임시로 저장하여 동일한 데이터 요청 시 더 빠르게 접근할 수 있도록 하는 고속 저장소다. 캐시는 데이터 접근 시간을 단축하고 시스템 성능을 높이는 중요한 역할을 한다.캐싱(Caching) 이란?캐싱(Caching)은 데이터를 캐시에 저장하여 자주 사용하는 데이터를 빠르게 제공하는 과정이나 기술이다. 이를 통해 시스템 성능을 향상시키고 서버의 부하를 줄일 수 있다.Cache Hit, Cache MissCache Hi..
분산 환경에서의 동시성 제어
·
Backend
배경동시성 제어의 기본 개념 이해를 위해 멀티 스레드 환경에서 동시성 제어 방식에 대한 분석 In Java 글참고분산 환경 vs 멀티 스레드 환경멀티 스레드 환경: 단일 인스턴스, 인스턴스 레벨 동시성 제어 가능분산 환경: 다중 인스턴스, 인스턴스 레벨 제어 불가능분산 환경에서의 동시성 제어 방식락(Lock)을 이용한 제어원리: 공유 자원에 대한 접근을 순차적으로 제어장점: 구현이 상대적으로 간단, 데이터 일관성 보장단점: 성능 저하 가능성, 데드락 위험버전(Version)을 이용한 제어원리: 데이터 변경 시 버전 정보 업데이트장점: 충돌 감지 용이, 낙관적 동시성 제어에 적합단점: 추가적인 버전 관리 오버헤드타임스탬프(Timestamp)를 이용한 제어원리: 각 트랜잭션에 고유한 타임스탬프 부여장점: 시..