티스토리 뷰

https://javascript.plainenglish.io/6-caching-strategies-to-remember-while-designing-cache-system-da058a3757cf

 

6-Caching Strategies to Remember while designing Cache System

How to invalidate the cache, strategies around Read v/s Write Cache,Ways to invalidate the Cache, terminologies around Cache System & Much…

javascript.plainenglish.io

 

캐시 시스템의 주요 성능 지표

  1. 캐시 적중률: 이 메트릭은 요청된 항목이 캐시에서 발견된 횟수의 비율을 측정합니다. 캐시 적중률이 높을수록 캐시에서 더 많은 데이터가 제공되어 외부 저장소에 액세스할 필요성이 줄어들고 성능이 향상됩니다.
  2. 지연 시간: 지연 시간은 데이터에 액세스하는 데 걸리는 시간을 의미합니다. 캐싱 시스템에서 지연 시간이 짧다는 것은 데이터가 더 빨리 제공되어 전반적인 성능이 향상된다는 것을 의미합니다.
  3. 처리량: 처리량은 주어진 시간 프레임에서 처리할 수 있는 데이터의 양을 측정합니다. 처리량이 높은 캐싱 시스템은 더 많은 요청을 처리하고 더 많은 데이터를 제공할 수 있으므로 전반적인 성능이 향상됩니다.
  4. 캐시 크기: 캐시 크기는 캐시에 할당된 메모리 또는 스토리지의 양입니다. 캐시 크기는 캐시의 적중률과 누락률에 영향을 줄 수 있습니다. 캐시 크기가 클수록 적중률이 높아질 수 있지만 캐싱 솔루션의 비용과 복잡성이 증가할 수 있습니다.
  5. 캐시 미스 비율: 이 지표는 요청된 항목이 캐시에서 발견되지 않아 외부 저장소에서 가져와야 하는 횟수의 비율을 측정합니다. 캐시 누락률이 높다는 것은 외부 스토리지에서 더 많은 데이터를 가져와 성능이 저하된다는 것을 의미합니다.

 

 

캐시 무효화 방법

  1. 시간 기반 무효화(TTL): 이 전략에서는 일정 시간이 지나면 캐시에 있는 데이터가 무효화됩니다. 이는 구현하기 쉬운 간단하고 효과적인 전략입니다. 그러나 일부 데이터는 다른 데이터보다 빠르게 오래될 수 있으므로 모든 사용 사례에 적합하지 않을 수 있습니다.
  2. 이벤트 기반 무효화: 이 전략에서는 기본 데이터 소스 변경 또는 기타 관련 이벤트와 같이 발생하는 특정 이벤트에 따라 캐시의 데이터가 무효화됩니다. 이는 필요한 경우에만 데이터가 무효화되도록 하는 보다 타깃화된 무효화 접근 방식입니다. 하지만 애플리케이션 및 기초 데이터 소스와의 향상된 통합이 필요합니다.
  3. 버전 기반 무효화: 이 전략에서는 캐시에 있는 각 데이터에 데이터가 변경될 때마다 증가하는 버전 번호가 할당됩니다. 데이터가 무효화되면 캐시에서 버전 번호가 업데이트되어 가장 최신 버전의 데이터만 사용되도록 합니다. 이 전략은 자주 변경되는 데이터에 효과적일 수 있지만 버전 번호를 관리하는 데 추가적인 오버헤드가 필요합니다.
  4. 가장 최근에 사용된(LRU) 무효화: 이 전략에서는 캐시가 용량 제한에 도달하면 캐시에서 가장 최근에 사용된 데이터가 무효화됩니다. 이렇게 하면 가장 자주 사용되는 데이터가 캐시에 남아 오래된 데이터를 저장할 위험이 줄어듭니다. 그러나 일부 데이터는 자주 액세스하지 않지만 여전히 캐시에 저장해야 할 수 있으므로 모든 사용 사례에 적합하지 않을 수 있습니다.
  5. 수동 무효화: 이 전략에서는 애플리케이션 또는 관리자가 수동으로 무효화를 트리거합니다. 이 방법은 캐시에 대한 유연성과 제어가 가장 뛰어나지만 무효화 프로세스를 관리하는 데 더 많은 오버헤드가 필요합니다. 여기에는 퍼지, 금지, 새로 고침과 같은 몇 가지 방법이 포함됩니다.

 

공지사항