ホームページ >バックエンド開発 >PHPチュートリアル >Yii CFileCache が値を取得できない原因の分析
この記事では、Yii CFileCache が値を取得できない原因の分析を主に紹介します。非常に優れており、必要な友人は参考にしてください。
設定ファイルに設定しました。
‘cache'=>array( ‘class'=>'system.caching.CFileCache', ),#コントローラに設定します
return array( array( ‘COutputCache+pro', ‘duration'=>86400, ‘varyByParam'=>array(‘id'), ),
#次にデータベースを開きます
'schemaCachingDuration'= >3600,初めて使用したとき、キャッシュ ファイルがあり、アクセスが大幅に高速化されたことがわかりました
しかし、時間が経つにつれて、しばらく経った後、おそらく 10 分後、ランタイム/キャッシュの下にあるキャッシュ ファイルが突然消えていることに気付きました。
以前、長い間追跡していた理由がわかりません。この問題を発見しました。
キャッシュ ディレクトリ 0a に他のフォルダーがあることもわかりました。d6 63 3a 名の目的がわかりません。
キャッシュ ファイルが突然削除される理由オンライン待機中に消えますか?
D ディスク データ領域のキャッシュ ファイルが非常に大きいです
1. Yii のバッファリングを main.php で設定する必要があります。#/****************/
‘cache' => array (
‘class' => ‘system.caching.CFileCache'
)
Yii::app ()->cache->set($key,$value,$expire); Yii::app ()->cache->get($key);
2. 複数のキャッシュを設定します
#main.php 設定
#‘cache' => array (
‘class' => ‘system.caching.CFileCache'
),
‘dbcache' => array (
‘class' => ‘system.caching.CDbCache'
)
コントローラーで必要なのは次のとおりです。対応するキャッシュ ID を使用して呼び出すことができます。
例:
Yii::app ()->dbcache 3. ページのキャッシュとは、ページ全体を静的にすることを意味します。main.php 構成は同じです
Controller: COutputCache クラスをクラス内のコントローラーの 1 つである動作フィルターとして使用できます。
public function filters() { return array ( array ( ‘COutputCache', ‘duration' => 600, ‘ varyByParam' => array(‘id') ) ); }
COutputCache は、データをキャッシュするときにキー名を自動的に生成する戦略として使用されます。使用できるもののリストは次のとおりです。
varyByRoute: このオプションを true に設定すると、特定のリクエストのルーティング部分が、キャッシュ データを生成するための別の識別子の一部として使用されます。したがって、リクエスト コントローラーとアクションを組み合わせて使用して、キャッシュされたコンテンツを区別できます。
varyBySession: このオプションを true に設定すると、キャッシュ内のコンテンツを区別するために一意のセッション ID が使用されます。各ユーザーのセッションは異なりますが、キャッシュを提供するために使用できます。
varyByParam: 前述したように、入力 GET のパラメーターはキャッシュの内容を区別するために使用されます。
varyByExpression: このオプションに PHP 式を設定すると、キャッシュされたコンテンツを区別するために、対応する式の結果を使用できます。
また、COutputCache のデフォルトのキャッシュ ID は、cache
であることにも注意してください。 4. フラグメント キャッシュフラグメント キャッシュは、ページの一部をキャッシュするために使用されます。ビュー スクリプトでフラグメント キャッシュを使用できます。これを行うには、CController::beginCache() メソッドと CController::endCache() メソッドを使用します。
…some HTML content…
<?php if($this—>beginCache($key))?>
…content to be cached…
<?php $this—>endCache(); ?>
…other HTML content…
以上がこの記事の全内容です。その他の関連内容については、PHP に注目してください。中国語のサイトです!
関連する推奨事項:
ブートストラップ ページング スタイルを使用する yii についてPHP での ID 設定が設定された後の不連続性について増分 原因分析と解決策
以上がYii CFileCache が値を取得できない原因の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。