2011-03-14 10 views
0

私は現在、すべてのデータが1つのXMLファイルに格納され、XSLT-さまざまな方法でHTMLに変換される小規模なPHP Webサイトに取り組んでいます。ユーザーにとって、データは読み取り専用ですが、XMLファイルはサイト管理者によって変更されることがあります。すべてのPHPスクリプトに同じXMLデータをロード

各PHPスクリプトは、XMLファイルのデータをDOMDocumentオブジェクトにロードします。これはすべてのスクリプトのすべての要求で行われますが、これは確かに最善で最速の方法ではありません。

オーバーヘッドを減らし、毎回ファイルを開くことなくXMLデータをすぐに利用できるようにするには、XMLファイルを変更できるという事実を考慮して、どのようなアプローチをお勧めしますか?

答えて

2

明白な解決策は、memcachedなどのキャッシュを使用することです。メソッド呼び出しの結果をDomDocument::load()にキャッシュします。管理者がXMLを変更するたびにキャッシュを無効にします。

ただし、現在のソリューションが本当にアプリケーションに悪影響を及ぼすかどうかを確認する必要があります。ファイルI/OとXML解析はボトルネックになる可能性がありますが、実際に問題がある場合は最初に見つけなければなりません。

1

あなたは、いくつかの方法でアプリケーションをキャッシュすることができます。

Memcachedは、キャッシングのための優れたソリューションです。小規模なサイトでは、テキストファイルへのキャッシュも機能します。ロードされるデータが小さい場合は、配列をシリアル化してセッションに入れることを検討することもできますが、データの量が本当に少ない場合を除き、これをお勧めします。

データの量は、XMLファイルから読み込まれている場合は、私はちょうどあなたの現在のソリューションカントーに固執したいかなり小さな..です

+0

XMLファイルは、典型的には、約400/500 KBになります。 –

関連する問題