Apache prefork では mod_mem_cache は効果がない

結論は、タイトル通り。

経緯

PHP のために Apache prefork に設定しているサーバで mod_mem_cache を有効にしていてハマった。デバッグログを見るとキャッシュはされているようだが、キャッシュを再利用(recall) されている形跡がない。

原因

mod_mem_cache はプロセスごとにキャッシュを行うため、マルチプロセスとなる prefork モデルでは効果がないらしい・・・。

結論

mod_disk_cache は prefork でも有効なのでそちらを利用しよう。キャッシュの手法は他にもいろいろ方法はあるが、とりあえず無難なところで落ち着くことにした。