1

私はまだ Codeigniter フレームワークに慣れていません。今日、データベース キャッシングhttp://codeigniter.com/user_guide/database/caching.htmlと Web ページ キャッシングhttp://codeigniter.com/user_guide/general/caching.htmlについて読みました。

ページビューが既にキャッシュされている場合、データベースのキャッシュが大きな意味を持つかどうか、少し混乱しています。そのため、ページがキャッシュにある場合でも、データベースには移動しません。

次のシナリオで見られる唯一のポイント: db から 30 の結果をロードする場合、php を使用して結果をシャッフルし、配列 10 の結果からプルします。次回ページキャッシュが削除されたとき、db からの 30 件の結果がまだキャッシュに残っていますが、今回はそれらの 30 件の結果をシャッフルした後に異なる結果が得られます。

ページ キャッシュも使用する場合にデータベース キャッシュを使用すると何らかの利点が得られる場合、他にシナリオはありますか?

4

1 に答える 1

4

データベース キャッシングは、ページ キャッシングを使用する場合にも役立ちます。ページが複数のデータベース クエリによって生成され、一部のデータが一定であり、他のデータが頻繁に変更される場合。

この場合、ページ キャッシュを短時間に設定し、データベースにクエリを実行せずに同じ定数データを使用しながら、毎回データベースから新しいデータを取得する必要があります。

例: 頻繁に使用するデータは 5 分ごとに更新する必要があり、一定のデータは 24 時間ごとに変更されるとします。この場合、ページ キャッシュを 5 分に設定します。24 時間にわたって、頻度の高いデータについてデータベースに 288 回クエリを実行しましたが、定数データについてクエリを実行したのは 1 回だけです。データベース キャッシュを使用していない場合、576 ではなく合計 289 のクエリになります。

于 2012-06-09T08:32:43.570 に答える