관리 메뉴

CASSIE'S BLOG

가이드 3강 HTTP 캐싱과 스프링 부트 캐싱 본문

카테고리 없음

가이드 3강 HTTP 캐싱과 스프링 부트 캐싱

ITSCASSIE1107 2024. 4. 30. 23:46

1. 캐시란?
2. Http 캐싱과 E-Tag로 개선하기
3. 스프링 캐시로 성능 개선하기

보통 20%의 api 또는 쿼리가 전체요청에 80%이상을 차지한다는 것을 이용

캐시란?
데이터 원래 소스보다 더 효율적으로 엑세스할 수 있는 임시 저장소

웹어플리케이션에서 캐시 사용하는 경우
1. 클라이언트 http 캐시 사용
2. 서버측 spring 캐시 사용

Http캐시: http 클라이언트의 요청에 대한 응답값 임시 저장소

Cache Control:
어떤 방식 & 얼마동안 캐싱

Ex) “age=3600"은 캐시가 생성된 후 경과한 시간을 나타냅니다. 여기서 3600은 초 단위이므로, 캐시가 생성된 후 3600초(약 1시간)가 지났음을 의미합니다.

Expire:
캐싱 응답 완료 시점

X-Cache:
Cache hit 해당 요청 값이 캐시로 응답

X-Cache-Location:
해당 client가 어디서 저장되는지

네트워크에 size 탭 늘리면 (memory cache)가 있으면 제 컴퓨터 브라우저에 메모리 캐시로 썼다는 거임 네이버 켜서 새로고침하면 memory cache로 바꾸는게 있으면 같은거 재요청하면 메모리 캐시 썼다는 거임

Http캐시 요청 시 db가 바뀌면 문제가 생김

나는 이전 캐시 가지고 있어서 아이템300원인줄 알았는데 db가 그 아이템 400원으로 바뀌면 300원인줄 알았는데 결제창은 400원으로 넘어가고 그래서 valid되는지 확인해야한다.

Cache Validation = 캐시 값 유효함 검증

If-Modified-Since 이용 (시간)
E-Tag 사용 (Id 비교)



반응형