Server Side Caching 서버 측 캐싱

mocaccino·2024년 10월 16일

백엔드로드맵

목록 보기
2/19
post-thumbnail

Server Side Caching이란

서버 사이드 캐싱은 자주 액세스하는 데이터를 서버의 메모리에 저장해 반복적인 데이터 검색이나 계산의 필요성을 줄임으로써 애플리케이션 성능을 개선하는데 사용되는 기술이다.

Source: Edgemesh

사용자가 처음으로 웹페이지를 요청하면 웹 사이트는 서버에서 데이터를 검색 하고 응답한다. 서버는 웹 페이지를 복사하여 캐시로 저장한다.

이후에 사용자가 다시 웹사이트를 방문하게 되면 이미 저장되거나 캐시된 웹페이지의 사본이 로드되어 빠르게 로딩할 수 있다.

이 접근 방식은 응답시간을 줄이고 DB 및 기타 백엔드 서비스의 부하를 줄이는데 도움이 된다.

일반적인 방법으로 DB 쿼리 결과, HTML 조각 및 API 응답을 캐싱하는 것들이 있다.

인기있는 Server Side Caching 도구로는 Redis, Memcached 및 웹 프레임워크의 기본 제공 매커니즘이 있다.

서버 측 캐싱의 종류

  • 객체캐싱
    객체 캐싱에서는 DB 쿼리를 저장한다.
  • Opcode 캐싱
    PHP는 인터프리터 언어의 특성 때문에 실행 될 때마다 opcode로 파싱 변환되어 실행이 된다. opcode 캐시는 한번 생성된 opcode를 공유 메모리에 캐시 형태로 저장하여, 다음에 동일한 컴파일 작업을 반복하지 않고 바로 실행되도록 한다.
  • CDN 캐싱
    CDN(Content Delivery Network)은 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드) 의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 한다.

서버 측 캐싱의 단점

서버 측 캐싱의 주요 문제는 지연이다. 지연은 데이터 패킷이 소스에서 목적지까지 이동하는 총 시간으로 정의할 수 있다. 높은 지연은 사용자 요청과 서버의 응답에 많은 지연이 있음을 의미한다.

또 다른 문제는 웹 페이지의 데이터가 변경되면 서버가 데이터를 처음부터 재구성 해야 한다는 점이다.

출처

https://www.naukri.com/code360/library/server-side-caching-and-client-side-caching

profile
레거시문서를 줄이자. 계속 업데이트해서 최신화한다.

0개의 댓글