私は Web アプリを構築しています。テスト目的でアプリから始めた方法は、データベースからセッション配列に大量のデータをロードして、ページ全体で値を簡単に使用できるようにすることです。私は1つのページに多数の選択があり、phpページがすべての変数をループするたびに、選択したものを選択し、ドロップダウンを出力します。私の配列の 1 つには 3000 未満の値があり、このドロップダウンをロードすると、ページが約 300 ミリ秒から 1-1.2 秒に遅くなります。ひどくはありませんが、反応が悪いことは簡単にわかります。それで、ロード速度を改善する方法があるかどうか、またはドロップダウンの代わりについて何か考えがあるかどうかを知りたい.
私がこれまでに試したこと:
セッション配列はすべての値を保持します。ページがjquery ajaxメソッドを介してロードされると、phpページはこれらの値をループしてドロップダウンをエコーします。
Php インクルード - 選択として事前に書き込まれたすべての値の php または html ページを作成します。これにより、問題のドロップダウン用に ~100kb のページが作成され、
include
. ほぼ同じ量に加えて、JavaScriptを使用して値を設定する必要がありますが、改善できる場合はこれを行います。おそらく、いくつかのキャッシングがここで改善を提供できると思いました。インクルードの場合、htmlページとphpページの間に大きな違いはないように見えましたが、htmlの方が優れていると思います。また、これらのページを含めるためにphp関数を使用しているため、通常のキャッシュを使用できないと想定しています。私はhtmlページにロードしようとしましたが、最初のロードで約1秒かかり、ブラウザのキャッシュ後は100〜350ミリ秒に戻ったので、キャッシュがパフォーマンスを大幅に向上させる可能性があると思います.
私は考えました:
ページ全体のキャッシュ バージョンを作成しますが、これを実装するのは非常に面倒なので、これが正しい方法だと人々が考えた場合にのみ実行します。もともとphpエコーで行っていた入力のデータを取得するには、ajaxを使用する必要があります。
問題のドロップダウンを削除するだけです。
私が明確にしたことがないことを明確にするために、phpページはブラウザーによってキャッシュされることは決してないという考えで正しいのでしょうか。しかし、html メソッドを使用しているため、php ファイルにリンクされている javascript ファイルをキャッシュできるのはなぜでしょうか?