第4章 キャッシュ・ポリシーと戦略
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
コンピューティングリソースにおいてキャッシュとは、、頻繁にアクセスされるデータや命令をコンピューティングユニットの近くに格納し、低速のストレージや外部リソースから情報を取り出す際の遅延を短縮するために使用されるコンポーネントまたはメカニズムのことである。従来のハードウェアでは、キャッシュは通常、メインメモリよりもCPUに近い場所に配置された高速で小容量のメモリとして実装されている。その目的は、データや命令へのアクセスに要する時間を短縮することで、システム全体の性能を向上させることである。
キャッシュの概念は、 「局所性」の原則を中心に展開される。この原則は、プログラミングはデータや命令の比較的小さな部分に繰り返しアクセスする傾向があることを示唆している。このように頻繁にアクセスされる情報をキャッシュにストアすることで、同じデータへのその後のアクセスを高速化し、パフォーマンスを向上させることができる。
キャッシュからデータにアクセスする場合、キャッシュ・ヒットとキャッシュ・ミスという2つの結果が考えられる。キャッシュ・ヒットは 、リクエスト・データがキャッシュ内で発見され、低速なメイン・メモリや外部リソースにアクセスすることなく、高速な検索が可能になったときに発生する()。キャッシュ・ミスは、リクエスト・データがキャッシュ内に存在せず、システムがメイン・メモリや外部ストレージからデータをフェッチする必要がある場合に発生する()。キャッシュ・ヒット率は、低速の外部ストレージにアクセスすることなくリクエストに対応するキャッシュの有効性を測定し、キャッシュ・ミス率は、キャッシュがリクエスト・データに対応できない頻度を示す。
この章では、データ・キャッシュの効果的な使い方を理解するための重要な情報を取り上げる。キャッシュ消去ポリシーについて説明する。キャッシュ消去ポリシーとは、重要なデータの取得を高速化するために、キャッシュからデータを削除するタイミングを決定する規則である。また、キャッシュされたデータが常に正しく、実際の基礎となるデータ・ソースと一致するようにするキャッシュの無効化についても説明する。この章では、読み取りと書き込みの両方が多いアプリケーションのキャッシュ戦略について説明する。そして、最高の結果を得るためにキャッシュをどこに配置するかなど、キャッシングを実行に移す方法について説明する。キャッシュがどのように機能するのか、なぜCDNが重要なのかについても学ぶ。最後に、人気のあるオープンソースのキャッシュ・ソリューションを2つ紹介する。まずはキャッシュから始めよう。
キャッシュの利点
キャッシュいくつかの理由から、システム性能の向上と遅延の低減に重要な役割を果たす:
- より速いアクセス
-
キャッシュは、メインメモリや外部ストレージに比べてアクセス時間が速い。頻繁にアクセスされるデータをCPUの近くに置いておくことで、キャッシュアクセス時間を大幅に短縮することができ、平均的にデータをフェッチするのに必要な時間が短縮されるため、平均アクセス時間や遅延が短縮される。
- 遅延の低減
-
キャッシュは、より低速のストレージリソースにアクセスする必要性を減らすことで、遅延を減少させる。キャッシュヒットからデータを提供することで、システムはメインメモリや外部ソースからのデータフェッチに関連する遅延を回避し、 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access