この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
Caching Strategies for Improved PerformanceEnglish version of this document is available
キャッシュは、システムのパフォーマンスを向上させるために使用できるテクノロジです。データをキャッシュに保存することで、システムは必要に応じて遅い記憶媒体からデータを取得する必要がなくなります。
利用可能なさまざまなキャッシュ戦略があり、それぞれ独自の長所と短所があります。戦略の選択は、実装される特定のシステムと許容できる長所と短所に依存します。
この記事では、最も一般的なキャッシュ戦略と長所と短所について説明します。また、これらの戦略をコードで実装する方法を見てみましょう。
Cache-aside は、必要に応じてキャッシュを埋める戦略です。データフラグメントが最初に要求されると、遅い記憶媒体から取り出され、キャッシュに記憶される。同じデータに対する後続の要求をキャッシュから提供できるため、はるかに高速です。
この戦略の利点の1つは、実装が簡単であることです。場合によっては、実行するのが難しい可能性があるキャッシュを事前に入力する必要はありません。
キャッシュ除外の欠点は、データをより遅い記憶媒体から取得する必要があるため、データフラグメントに対する最初の要求が常に遅いことです。これは、間もなく必要と思われるデータを事前にインポートすると、ある程度緩和される可能性があります。
書き込みスルーキャッシュでは、データが変更されるたびにキャッシュとより遅い記憶媒体の両方に書き込まれます。これにより、キャッシュ内のデータは常に最新の状態に保たれます。
この戦略の1つの利点は、データが常に一貫していることです。変更はキャッシュと低速の記憶媒体の両方に即座に書き込まれるため、両方が同期しないリスクはありません。
書き込みスルーキャッシュの欠点は、各書き込み操作を実行するには2つの書き込み操作が必要なため、他の戦略よりも遅くなる可能性があることです。これは、別のスレッドを使用してより遅い記憶媒体に書き込むことによって軽減される可能性があるため、基本スレッドはブロックされません。
後書きキャッシュでは、データはキャッシュ内のデータが削除されたときにのみ遅い記憶媒体に書き込まれます。書き込みは絶対に必要な場合にのみ遅い記憶媒体で行うことができ、パフォーマンスが向上する可能性があります。
この戦略の1つの利点は、データが変更されたときに書き込み操作を一度だけ行う必要があるため、連続書き込みキャッシュよりも高速にできることです。
後のキャッシュの欠点は、キャッシュ内のデータがより遅い記憶媒体に書き込まれる前にシステムがクラッシュすると、データが失われる可能性があることです。ジャーナルを使用してキャッシュ内のデータに対する変更を追跡すると、この問題を軽減できます。
###結論
キャッシュは、システムのパフォーマンスを向上させるために使用できる強力な技術です。さまざまなキャッシュ戦略があり、それぞれ独自の長所と短所があります。戦略の選択は、実装される特定のシステムと許容できる長所と短所に依存します。