2010年09月23日

キャッシュを使う

お願いします♪いいねとかつぶやいたりして下さい
 
cakephpでキャッシュを使う。
処理の重さを気にしてプログラムをしていては、キリがないので
ひたすら強引に作りまくっていた。

でも・・・
アソシエーション・・・
超重い。

どんどんどんどん、重くなる。

そこで、データをキャッシュして表示するようにする。

下準備



・core.php の 89 行目のコメントを外す
・180行目らへんのキャッシュを保存しておく場所を決める

//89行目らへん。コメントアウトされているので外す
Configure::write('Cache.check', true);


・
・
・

//180行目らへん。コメントアウトされているので外す
Cache::config('default', array(
		'engine' => 'File', //[required]
		'duration'=> 3600, //[optional]
		'probability'=> 100, //[optional]
		'path' => CACHE, //[optional] use system tmp directory - remember to use absolute path
		'prefix' => 'cake_', //[optional]  prefix every cache file with this string
		'lock' => false, //[optional]  use file locking
		'serialize' => true,// [optional]
	));





モデル、コントローラー、ビューのどこでも使用OK!
if(Cache::read('res')){
    //pr('すでにキャッシュがあるのでそれを使う');
    $res = Cache::read('res');
} else {
    //pr('キャッシュを作成します、使います');
    $res = 'ここでfindとかの処理してデータを作成';
    Cache::set(array('duration' => '+1 hours'));//1時間有効
    Cache::write('res', $res);//データを書き込み
}
pr($res);


ようは、 res っていう名前のキャッシュがあれば、それを読み込んで使う。
なかったら $resを作って保存させ、それを使う。

ってこと。

キャッシュを使用するとサーバーの負荷が少なくなり、音速で動くようになるんだが、
逆にキャッシュに残るのでプログラムのバグの原因になる。
多様するのではなく、ここぞという場面で使うのがベストか。

ちなみに、cakephpのビューキャッシュはバグりまくりなので使わない方がいい。
(個人的な意見。)


関連するタグ: PHP cakephp
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ