Codeigniter-page-caching
提供:Dev Guides
CodeIgniter-ページキャッシング
ページをキャッシュすると、ページの読み込み速度が向上します。 ページがキャッシュされている場合、完全にレンダリングされた状態で保存されます。 次回、サーバーがキャッシュされたページのリクエストを取得すると、リクエストされたブラウザに直接送信されます。
キャッシュされたファイルは application/cache フォルダーに保存されます。 キャッシュはページごとに有効にできます。 キャッシュを有効にしながら、キャッシュされたフォルダーに保持する必要があるまでの時間を設定する必要があり、それ以降は自動的に削除されます。
キャッシュを有効にする
コントローラのいずれかの方法で次の行を実行すると、キャッシュを有効にできます。
$this->output->cache($n);
ここで、 $ n は*分*の数であり、ページをリフレッシュ間でキャッシュしたままにしておきます。
キャッシングを無効にする
キャッシュファイルは有効期限が切れると削除されますが、手動で削除する場合は無効にする必要があります。 次の行を実行すると、キャッシュを無効にできます。
//Deletes cache for the currently requested URI
$this->output->delete_cache();
//Deletes cache for/foo/bar
$this->output->delete_cache('/foo/bar');
例
*Cache_controller.php* というコントローラーを作成し、 *application/controller/Cache_controller.php* に保存します
<?php
class Cache_controller extends CI_Controller {
public function index() {
$this->output->cache(1);
$this->load->view('test');
}
public function delete_file_cache() {
$this->output->delete_cache('cachecontroller');
}
}
?>
*test.php* という名前のビューファイルを作成し、 *application/views/test.php* に保存します。
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "utf-8">
<title>CodeIgniter View Example</title>
</head>
<body>
CodeIgniter View Example
</body>
</html>
*application/config/routes.php* の *routes.php* ファイルを変更して、上記のコントローラーのルートを追加し、ファイルの最後に次の行を追加します。
$route['cachecontroller'] = 'Cache_controller';
$route['cachecontroller/delete'] = 'Cache_controller/delete_file_cache';
ブラウザーに次のURLを入力して例を実行します。
http://yoursite.com/index.php/cachecontroller
上記のURLにアクセスすると、このためのキャッシュファイルが application/cache フォルダーに作成されることがわかります。 ファイルを削除するには、次のURLにアクセスしてください。
http://yoursite.com/index.php/cachecontroller/delete