1

急速に拡大するデータベースを使用して、アプリケーションの基盤をセットアップしています。現在、約 12000 人のユーザーしかいませんが、既に 500 万を超えるレコード フィールドを持つテーブルがあります。これにより、実行されるクエリの回数が増え始めています。そのため、クエリまたはページ全体を限られた時間 (たとえば 30 分、場合によっては 1 時間) キャッシュすることを考え始めました。

CodeIgniter (v2.1.4) のキャッシング オプションについては、ユーザー ガイド全体 (ここここここなど) や、キャッシングに関する多数のフォーラムや SO の質問を通じて、多くのことを読みました。

また、Memcached と APC のキャッシュ方法についても少し調べました。コメントと違いに基づいて、 APC Cachingを使用したいと思います。

では、ページのキャッシュには、ページのコンテンツを構成するために必要なすべてのデータも含まれているのでしょうか? それとも、キャッシュされたページが提供されるたびにクエリが実行されますか?

後者の場合、限られた時間 (前述の 30 分または 60 分など) クエリ結果をキャッシュして、データベースがビジー状態になるのを防ぐにはどうすればよいですか?

望ましい状況は、完全なページを保存し、タイマーが切れるたびに (ページに対するユーザー要求なしで) それらを更新できることです。もちろん、ページにはクエリからの新しいデータも含まれます。

4

1 に答える 1