Yiiフレームワークの一般的なキャッシュアプリケーションインスタンスのまとめ
2545 ワード
この例では、Yiiフレームワークの一般的なキャッシュアプリケーションについて説明します.皆さんの参考にしてください.具体的には以下の通りです.
1まず、apc or memcache or redisをインストールする必要があります.インストールが完了したら.redisを例にとります.どのようにインストールするかについては、お嬢さんを探してください.
コンフィギュレーションファイルにcomponentsを次のように追加します.
2最も簡単な例.set get.
3データベース・クエリー・キャッシュ.
上のコードが対応するデータを検索するという意味の場合、まず検索SELECT MAX(id)FROM plat 2_に依存すると判断しますsettingsの結果データが更新されたかどうか、
更新がある場合は、データを再問合せし、更新がない場合はデータを直接キャッシュします.1000秒後に再照会されます.
4チップキャッシュ.
5ページキャッシュ.
コントローラを使用して、指定したactionを直接キャッシュ処理します.
また、varyBySessionはオプションです.
Yiiの関連内容についてもっと興味のある読者は、「Yiiフレームワーク入門及び常用技術総括」、「php優秀開発フレームワーク総括」、「smartyテンプレート入門基礎教程」、「php対象プログラム設計入門教程」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
本稿では,Yiiフレームワークに基づくPHPプログラムの設計に役立つことを期待する.
1まず、apc or memcache or redisをインストールする必要があります.インストールが完了したら.redisを例にとります.どのようにインストールするかについては、お嬢さんを探してください.
コンフィギュレーションファイルにcomponentsを次のように追加します.
'cache'=>array(
'class'=>'core.extensions.redis.Predis',
'class'=>'core.extensions.redis.CRedisCache',
'servers'=>array(
array(
'host'=>'192.168.1.xx',
'port'=>6379,
),
),
),
2最も簡単な例.set get.
Yii::app()->cache->set('id', date("Y-m-d H:i:s"), 5); // 5.
echo Yii::app()->cache->get("id")."
";
sleep(2);
echo Yii::app()->cache->get("id"); //
sleep(4);
echo Yii::app()->cache->get("id"); // ,
3データベース・クエリー・キャッシュ.
//3.1 。
$sql = 'select * from {{settings}}';
$cmd = Yii::app()->db->cache(10, null)->createCommand($sql);
$rows = $cmd->queryAll();
//3.2 。
$dp_sql = "SELECT MAX(id) FROM plat2_settings ";
$dependency = new CDbCacheDependency( $dp_sql );
$sql = "SELECT * FROM `plat2_settings`";
$rows = Yii::app()->db->cache(1000, $dependency)->createCommand($sql)->queryAll();
上のコードが対応するデータを検索するという意味の場合、まず検索SELECT MAX(id)FROM plat 2_に依存すると判断しますsettingsの結果データが更新されたかどうか、
更新がある場合は、データを再問合せし、更新がない場合はデータを直接キャッシュします.1000秒後に再照会されます.
4チップキャッシュ.
if($this->beginCache("xx"))
{
echo "test cache ";
$this->endCache();
}
//beginCache , 。 , 。
5ページキャッシュ.
public function filters(){
return array(
array(
'COutputCache+index+admin',
'duration' => 120,
'varyByParam'=>array('id'),
),
);
}
コントローラを使用して、指定したactionを直接キャッシュ処理します.
また、varyBySessionはオプションです.
Yiiの関連内容についてもっと興味のある読者は、「Yiiフレームワーク入門及び常用技術総括」、「php優秀開発フレームワーク総括」、「smartyテンプレート入門基礎教程」、「php対象プログラム設計入門教程」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
本稿では,Yiiフレームワークに基づくPHPプログラムの設計に役立つことを期待する.