キャッシュとは
コンピューティングにおいて、キャッシュは、データのサブセットが保存される高速のデータストレージレイヤーで、通常は一時的な性質のものです。これにより、それ以降に同じデータのリクエストが発生した場合、データのプライマリストレージロケーションにアクセスするよりも高速にデータが供給されます。キャッシュにより、以前に取得または計算されたデータを効率的に再利用できるようになります。
キャッシュの仕組みを教えてください。
キャッシュ内のデータは、一般的に RAM (ランダムアクセスメモリ) などの高速にアクセスできるハードウェアに保存され、ソフトウェアコンポーネントとの相関関係にも使用されます。キャッシュの主な目的は、基盤となる低速なストレージレイヤーにアクセスする必要を減らすことによって、データ取得性能を向上することです。
通常、データベース内のデータは完全で耐久性があるのに対して、一般的にキャッシュにはデータのサブセットが一時的に保存され、容量よりも速度が優先されます。
キャッシュの概要
レイヤー | クライアント側 | DNS | ウェブ | アプリ | データベース |
ユースケース | ウェブサイト (ブラウザまたはデバイス) からのウェブコンテンツの取得を高速化する |
ドメインから IP への解決方法 | ウェブ/アプリサーバーのウェブコンテンツの取得を高速化します。ウェブセッションの管理 (サーバー側) | アプリケーションのパフォーマンスとデータアクセスを加速する | データベースクエリリクエストに関連するレイテンシーを削減する |
テクノロジー | HTTP キャッシュヘッダー、ブラウザ | DNS サーバー | HTTP キャッシュヘッダー、CDN、リバースプロキシ、ウェブアクセラレーター、key/value ストア | key/value データストア、ローカルキャッシュ | データベースバッファ、key/value ストア |
ソリューション | ブラウザ固有 | Amazon Route 53 | Amazon CloudFront、Redis 用 ElastiCache、Memcached 用 ElastiCache、パートナーソリューション | アプリケーションフレームワーク、Redis 用 ElastiCache、Memcached 用 ElastiCache、パートナーソリューション | ElastiCache for Redis、ElastiCache for Memcached |
Amazon ElastiCache を使用したキャッシュ
Amazon ElastiCache は、クラウド内でのインメモリデータストアまたはキャッシュのデプロイ、運用、およびスケールを容易にするウェブサービスです。このサービスは、低速のディスクベースのデータベースに完全に依存せずに、高速の管理されたメモリ内データストアから情報を取得できるようにすることで、ウェブアプリケーションのパフォーマンスを向上させます。効果的なキャッシュ戦略を実装する方法の詳細については、インメモリキャッシュに関するテクニカルホワイトペーパーを参照してください。