フリーキーズ | 独学プログラミング

Memcachedとは

最終更新日

Memcachedは、フリーでオープンソースの高性能な分散型メモリオブジェクトキャッシュシステムで、主に動的なWebアプリケーションを高速化するために、データやオブジェクトをRAMにキャッシュして、データベースやAPIの読み込み回数を減らすために使用します。

簡単に言うと、Memcachedによってアプリケーションは頻繁にアクセスされる情報を記憶して再利用でき、その結果より低速なディスクベースのデータベースからデータを取得する必要があった操作の時間を大幅に短縮できます。

Memcachedの使用例

例えば、商品説明や画像を含む人気のあるECサイトを運営しているとします。顧客が商品ページにアクセスするたびにアプリケーションは商品の詳細についてデータベースに問い合わせる必要があります。あなたのサイトに何千、何百万人もの訪問者がいる場合、これらのデータベースクエリはあなたのサイトの速度を低下させる可能性があります。

Memcachedを使用すると、最初に商品ページにアクセスしたときにアプリケーションはデータベースに問い合わせを行い、商品の詳細をキャッシュに保存します。次に顧客が同じ商品ページにアクセスしたとき、アプリケーションはキャッシュから詳細を取得でき、これはデータベースに問い合わせるよりもはるかに高速です。

Memcachedの特徴

Memcachedは永続的なストレージではないことを理解することが重要です。Memcachedに保存されたデータはシステムが再起動した場合や、キャッシュがいっぱいになって古いデータが押し出された場合など、いつでも失われる可能性があります。したがって、Memcachedは(データベースのように)永続的に他の場所に存在し、必要に応じて再ロードまたは再計算できるデータをキャッシュするために使用されます。

Memcachedはシンプルで強力ですが、その有用性はアプリケーションの性質に依存することに留意する必要があります。読み込みが多いワークロードや、同じデータが何度も要求されるような状況では最も有益です。また、Memcachedシステムの管理には、慎重なチューニングと管理が必要になることがあります。