mod_mem_cache
URI をキーにしたコンテンツのキャッシュ
Extension
mod_mem_cache.c
mem_cache_module

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

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

mod_cache
mod_disk_cache
MCacheSize
キャッシュに使われるメモリの最大量をバイト単位で指定
MCacheSize KBytes
MCacheSize 100
server config

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

# 例

MCacheSize 700000

# 注

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

MCacheMaxObjectCount
キャッシュに保管されるオブジェクトの最大数
MCacheMaxObjectCount value
MCacheMaxObjectCount 1009
server config

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

# 例

MCacheMaxObjectCount 13001
MCacheMinObjectSize
キャッシュに保管されるドキュメントの最小サイズ (バイト)
MCacheMinObjectSize bytes
MCacheMinObjectSize 0
server config

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

# 例

MCacheMinObjectSize 10000
MCacheMaxObjectSize
キャッシュに保管できるドキュメントの最大サイズ (バイト)
MCacheMaxObjectSize bytes
MCacheMaxObjectSize 10000
server config

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

# 例

MCacheMaxObjectSize 6400000

# 注

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

MCacheRemovalAlgorithm
キャッシュから削除するドキュメントを選ぶためのアルゴリズム
MCacheRemovalAlgorithm LRU|GDSF
MCacheRemovalAlgorithm GDSF
server config

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

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

# 例

MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU
MCacheMaxStreamingBuffer
ストリームされている応答をキャッシュ不能と決定するまでに メモリにバッファする最大量
MCacheMaxStreamingBuffer size_in_bytes
MCacheMaxStreamingBuffer of 100000 か MCacheMaxObjectSize の少い方
server config

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

# 注:

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

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