Apache HTTP サーバ バージョン 2.2

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.2 > モジュール

# Apache モジュール mod_mem_cache

Available Languages: en | ja | ko

説明: | URI をキーにしたコンテンツのキャッシュ
ステータス: | Extension
モジュール識別子: | mem_cache_module
ソースファイル: | mod_mem_cache.c

### 概要

このモジュールは `mod_cache` を必要とします。 これは `mod_cache` のサポートモジュールとして 動作し、メモリを使用したストレージ管理機構を提供します。 `mod_mem_cache` は二つのモードのどちらかで動作するように 設定できます: ファイル記述子のキャッシュかヒープ中のオブジェクトの キャッシュです。ローカルで生成されたコンテンツに対してキャッシュするときや、 `mod_proxy` を使って `ProxyPass` (つまりリバースプロキシ向け) に設定したときのバックエンドサーバのコンテンツに対して キャッシュをするときに、たいへん効果的です。

コンテンツのキャッシュへの保存と取得は URI に基づいたキーが使われます。 アクセス保護のかけられているコンテンツはキャッシュされません。

### ディレクティブ

### 参照

- `mod_cache`
- `mod_disk_cache`

## MCacheMaxObjectCount ディレクティブ

説明: | キャッシュに保管されるオブジェクトの最大数
構文: | `MCacheMaxObjectCount value`
デフォルト: | `MCacheMaxObjectCount 1009`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheMaxObjectCount` ディレクティブは キャッシュされるオブジェクトの最大数を指定します。 この値はハッシュテーブルを作成するときに使われます。 新しいオブジェクトを挿入するときに、オブジェクトの最大数に 達してしまっているとき、新しいオブジェクトをキャッシュできるように、 オブジェクトを一つ消去します。オブジェクトは `MCacheRemovalAlgorithm` で指定されたアルゴリズムに従って削除されます。

### 例

`MCacheMaxObjectCount 13001`

## MCacheMaxObjectSize ディレクティブ

説明: | キャッシュに保管できるドキュメントの最大サイズ (バイト)
構文: | `MCacheMaxObjectSize bytes`
デフォルト: | `MCacheMaxObjectSize 10000`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheMaxObjectSize` はドキュメントを キャッシュするかどうかを判定する、最大のサイズをバイト数で設定します。

### 例

`MCacheMaxObjectSize 6400000`

### 注

`MCacheMaxObjectSize` の値は `MCacheMinObjectSize` で指定した値よりも大きくなければなりません。

## MCacheMaxStreamingBuffer ディレクティブ

説明: | ストリームされている応答をキャッシュ不能と決定するまでに メモリにバッファする最大量
構文: | `MCacheMaxStreamingBuffer size_in_bytes`
デフォルト: | `MCacheMaxStreamingBuffer of 100000 か MCacheMaxObjectSize の少い方`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheMaxStreamingBuffer` ディレクティブは、 サイズが大きすぎてキャッシュできないと判断するまでの、 ストリーム応答のバッファのための最大バイト数を指定します。 ストリーム応答とは、コンテンツの全体がすぐには得られず、 `Content-Length` がわからない応答を指します。 ストリーム応答を行なうようなものにはプロキシされた応答や、 CGI スクリプトの出力などがあります。デフォルトではストリームの応答は `Content-Length` がない限りキャッシュされません。 このような動作になっている理由は、結局キャッシュに収まりきらないと 判断することになってしまうような、サイズの大きな応答のバッファリングに、 大量のメモリが消費されるのを避けるためです。 `MCacheMaxStreamingBuffer` ディレクティブを使うと、 `Content-Length` を含まない応答に対して指定された最大量まで バッファするようにできます。バッファを使い切ると、バッファ中の コンテンツは捨てられ、キャッシュ動作を中止します。

### 注:

`MCacheMaxStreamingBuffer` に非零の値を 使っても、クライアントへの応答の転送に特に遅延は発生しません。 `mod_mem_cache` はストリームコンテンツの断片を バッファにコピーした後、即座に、その部分をクライアントへの配送の 次段の出力フィルタに送ります。

`# Enable caching of streamed responses up to 64KB:
MCacheMaxStreamingBuffer 65536`

## MCacheMinObjectSize ディレクティブ

説明: | キャッシュに保管されるドキュメントの最小サイズ (バイト)
構文: | `MCacheMinObjectSize bytes`
デフォルト: | `MCacheMinObjectSize 0`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheMinObjectSize` ディレクティブは、ドキュメントを キャッシュするかどうかを判定する、最小のサイズをバイト数で設定します。

### 例

`MCacheMinObjectSize 10000`

## MCacheRemovalAlgorithm ディレクティブ

説明: | キャッシュから削除するドキュメントを選ぶためのアルゴリズム
構文: | `MCacheRemovalAlgorithm LRU|GDSF`
デフォルト: | `MCacheRemovalAlgorithm GDSF`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheRemovalAlgorithm` ディレクティブは、 キャッシュから削除するドキュメントを選択するためのアルゴリズムを 指定します。選択肢は二つあります:

`LRU` (Least Recently Used)
  `LRU` 一番長くアクセスされていないドキュメントを削除します。
`GDSF` (GreadyDual-Size)
  `GDSF` はキャッシュミスのコストとドキュメントのサイズをもとに、 ドキュメントのキャッシュに対して優先度をつけます。 優先度の一番低いドキュメントが最初に削除されます。

### 例

`MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU`

## MCacheSize ディレクティブ

説明: | キャッシュに使われるメモリの最大量をバイト単位で指定
構文: | `MCacheSize KBytes`
デフォルト: | `MCacheSize 100`
コンテキスト: | サーバ設定ファイル
ステータス: | Extension
モジュール: | mod_mem_cache

`MCacheSize` ディレクティブはキャッシュに 使われるメモリの大きさをキロバイト (1024 バイト単位) で設定します。 新しいオブジェクトをキャッシュに挿入することになり、オブジェクトの サイズが残りのメモリより大きい場合は、その新しいオブジェクトの挿入が 可能になるまで、古いオブジェクトが削除されていきます。 オブジェクトは `MCacheRemovalAlgorithm` で指定したアルゴリズムに従って削除されます。

### 例

`MCacheSize 700000`

### 注

`MCacheSize` の値は `MCacheMaxObjectSize` ディレクティブで指定した値より 大きくなければなりません。

Available Languages: en | ja | ko