이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
캐싱은 시스템 성능을 향상시키는 데 사용할 수 있는 기술입니다. 데이터를 캐시에 저장함으로써 시스템은 필요할 때마다 더 느린 저장 매체에서 데이터를 가져오지 않아도 됩니다.
사용할 수 있는 다양한 캐싱 전략이 있으며 각각 고유한 장단점이 있습니다. 전략의 선택은 구현되는 특정 시스템과 수용 가능한 장단점에 따라 달라집니다.
이 기사에서는 가장 일반적인 캐싱 전략과 장단점에 대해 살펴보겠습니다. 또한 이러한 전략을 코드로 구현하는 방법도 살펴보겠습니다.
Cache-aside는 필요에 따라 캐시를 채우는 전략입니다. 데이터 조각이 처음 요청되면 느린 저장 매체에서 가져와 캐시에 저장됩니다. 동일한 데이터에 대한 후속 요청을 캐시에서 제공할 수 있으므로 훨씬 빠릅니다.
이 전략의 장점 중 하나는 구현이 간단하다는 것입니다. 경우에 따라 수행하기 어려울 수 있는 캐시를 미리 채울 필요가 없습니다.
캐시 배제의 단점은 데이터를 더 느린 저장 매체에서 가져와야 하기 때문에 데이터 조각에 대한 첫 번째 요청이 항상 느리다는 것입니다. 이것은 곧 필요할 것 같은 데이터를 미리 가져오면 어느 정도 완화될 수 있습니다.
Write-through 캐싱에서는 데이터가 변경될 때마다 캐시와 더 느린 저장 매체 모두에 기록됩니다. 이렇게 하면 캐시의 데이터가 항상 최신 상태로 유지됩니다.
이 전략의 한 가지 장점은 데이터가 항상 일관성이 있다는 것입니다. 변경 사항은 캐시와 속도가 느린 저장 매체 모두에 즉시 기록되므로 둘이 동기화되지 않을 위험이 없습니다.
write-through 캐싱의 단점은 각 쓰기 작업을 수행하려면 두 번의 쓰기 작업이 필요하기 때문에 다른 전략보다 느릴 수 있다는 것입니다. 이는 별도의 스레드를 사용하여 더 느린 저장 매체에 기록함으로써 완화될 수 있으므로 기본 스레드가 차단되지 않습니다.
후기입 캐싱에서 데이터는 캐시의 데이터가 제거될 때만 더 느린 저장 매체에 기록됩니다. 쓰기 작업은 절대적으로 필요한 경우에만 느린 저장 매체에서 수행하면 되므로 성능이 향상될 수 있습니다.
이 전략의 한 가지 장점은 데이터가 변경될 때 쓰기 작업을 한 번만 수행하면 되므로 연속 쓰기 캐싱보다 빠를 수 있다는 것입니다.
후기입 캐싱의 단점은 캐시의 데이터가 더 느린 저장 매체에 기록되기 전에 시스템이 충돌하면 데이터가 손실될 수 있다는 것입니다. 저널을 사용하여 캐시의 데이터에 대한 변경 사항을 추적하면 이 문제를 완화할 수 있습니다.
캐싱은 시스템 성능을 향상시키는 데 사용할 수 있는 강력한 기술입니다. 다양한 캐싱 전략이 있으며 각각 고유한 장점과 단점이 있습니다. 전략의 선택은 구현되는 특정 시스템과 수용 가능한 장단점에 따라 달라집니다.