バックストーリー
私は、大規模な自家製の PHP ライブラリをすべて使用するさまざまな (Web) アプリケーションを維持しています。これらのアプリケーションの一部は、従業員が使用する従来のデスクトップ アプリケーションですが、その他 (この質問により関連性が高い) は、人気が高まり続けるにつれてパフォーマンスがより重要な問題になっている PHP Web サイトです。
現在の PHP キャッシング方法
ウェブサイトの 1 つ (お店です。thinkgeek.comと考えてください) を高速化するために、memcached を使用して、常に動的に構築する必要のないウェブサイトの特定のセグメント (特定のカテゴリの製品リストなど) をキャッシュします。 )。
また、OPCode キャッシュとして APC のほぼ工場出荷時のデフォルト インストールを使用します。
これらの方法はどちらもウェブサイトのパフォーマンスを大幅に改善しますが、私は最適化の道をさらに進んでいきたいと考えています.
PHP の関数の揮発性
私自身データベースのバックグラウンドを持っているので、たとえば PostgreSQL が関数のボラティリティを使用して、信頼性が高く正確な結果を維持しながらパフォーマンスを大幅に向上させる方法が非常に気に入っています。
私の質問は、開発者が特定の関数 (またはクラス メソッド) としてマークできるようにする PHP の拡張機能はありますIMMUTABLE
か? (同じ入力引数が与えられた場合、その関数の結果は常に同じであることを意味します)。このキャッシュ拡張機能は、その関数の結果をキャッシュすることができ、大きなコード ライブラリを使用する場合にパフォーマンスが大幅に向上するはずです。
SomeClass::getWebsiteFooter();
簡単な例としては、Web サイトが変更されていない限り (変更されている場合はキャッシュがフラッシュされます)、常に同じ HTML コードを返すなどのメソッドがあります。
このようなものは存在しますか?私は市場で遠く離れたものを見つけることができませんでした. 私の状況に役立つ可能性のあるパフォーマンス改善の他の方法はありますか?