サイトをできるだけ速くロードしたいので、サイトを高速化しようとしています。ただし、キャッシングには少し問題があります。これで作業しようとしていましたが、ページ全体がキャッシュされ、コンテンツがかなり変更されているようです。変更されないことがわかっている特定のビューのみをキャッシュすることは可能ですか? ヘッダー、フッター、メインのホームページと同様です。
3 に答える
CI キャッシングのポイントは、データベース クエリの数、時間のかかる PHP 計算などを減らすことです。基本的には、コントローラーからプレーンな HTML ページをレンダリングします (もちろん、それが呼び出すすべてのビューも)。したがって、データベースまたは動的で重いものからデータを取得しない限り、ヘッダーとフッターの速度は実際には向上しません...しかし、特にキャッシュを禁止しない限り、最新のブラウザーはそれをキャッシュします.
したがって、結論として、CI キャッシングではページ全体のキャッシングのみが可能であり、個別の部分はキャッシングできません。もちろん、あなたが望むものを達成するための別の方法があります。たとえば、ヘッダーとフッターを別々のコントローラーにして、それらにキャッシュを入れ、AJAX で呼び出すことができます...しかし、それが価値があるかどうかはわかりません.
話が少し遅れましたが、データベース キャッシュについて調べましたか? Web ページの遅延の多くは、重いデータベース クエリが原因である可能性があります。結果をキャッシュすると、動的ビューが開きます。
これは、セッションを管理するときに役立ちます。
$this->db->cache_on();
これをコントローラーの代わりにモデルに配置します。アプリディレクトリにも書き込み可能な db-cache フォルダーがあることを確認してください。