Symfoware

Symfowareについての考察blog

CodeIgniter 3 ページキャシュについて(General Topics - Web Page Caching)

CodeIgniter User Guide

General TopicsのWeb Page Cachingについて調べてみます。
Web Page Caching



Web Page Caching



CodeIgniterは、最高のパフォーマンスを発揮するためにページのキャッシュ機能を備えています。

表示ページのキャッシュを行うことで、サーバーリソースを表示せず
静的なページを表示するのと同じぐらいの性能を発揮することができます。



How Does Caching Work?



キャッシュはページ単位に有効期限付きで作成することができます。
最初にページにアクセスされた時、application/cacheフォルダーにキャッシュを作成し、
有効期限が来るまで、次回以降のアクセスはこのキャッシュデータをクライアントに送信します。

指定された有効期限が切れたらキャッシュデータは破棄され、
新たなキャッシュデータが保存されます。

※ファイル以外にもキャッシュ先のストレージ(redis等)が指定できると思います。
これは後々解説されるのだと思います。




Enabling Caching




キャッシュを有効にするには、コントローラーのメソッドで、
以下の処理を実行します。


  1. $this->output->cache($n);




引数$nはキャッシュの有効時間(分)です。





Deleting Caches



指定した有効期間が来る前にキャッシュを破棄したい場合があります。
※マスターデータを更新した時など。

delete_cache()を実行すると、キャッシュが破棄されます。
引数なしの場合は、現在表示中のページの、
引数を指定した場合は、該当URIのキャッシュが破棄されます。


  1. // Deletes cache for the currently requested URI
  2. $this->output->delete_cache();
  3. // Deletes cache for /foo/bar
  4. $this->output->delete_cache('/foo/bar');








試してみる




こんなコントローラーを作成しました。
キャッシュの削除を指定するとき、最初のスラッシュはつけては駄目みたいでした。


  1. <?php
  2. class Sample extends CI_Controller {
  3.     
  4.     public function cache() {
  5.         
  6.         log_message('error', 'cacheメソッド実行');
  7.         $this->output->cache(10);
  8.         $this->load->view('sample');
  9.     }
  10.     
  11.     public function delete() {
  12.         
  13.         $this->output->delete_cache('sample/cache');
  14.         echo 'キャッシュテストを破棄しました。';
  15.     }
  16.     
  17. }





ちなみに、キャッシュを使用するにはビューを使用している必要があります。
最初「echo 'キャッシュ';」みたいなプログラを書いてキャッシュされずはまりました。

ビューは適当にこんなかんじです。


  1. <html>
  2. <head>
  3.     <title>キャッシュテスト</title>
  4. </head>
  5. <body>
  6. キャッシュのテストです。
  7. </body>
  8. </html>




sample/cacheの表示はこんな感じ。

538_01.png


表示と同時にcacheフォルダにファイルが出来ました。

538_02.png


ログの表示は1行だけで、リロードしても増えません。


ERROR - 2015-01-28 23:37:47 --> cacheメソッド実行




キャッシュを削除してみます。

538_03.png


キャッシュフォルダからファイルが削除されました。
再度、sample/cacheにアクセスすると、またキャッシュファイルが作成されます。





CodeIgniter 3のユーザーガイド(User Guide)まとめ

関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/01/28(水) 23:45:17|
  2. PHP
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<CodeIgniter 3 アプリケーションのプロファイル、ベンチマーク(General Topics - Profiling Your Application) | ホーム | CodeIgniter 3 エラー処理について(General Topics - Error Handling)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1613-37050f74
この記事にトラックバックする(FC2ブログユーザー)