Cake Php キャッシュのやり方

4,864 views

Published on

第4回SE勉強会の資料です

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,864
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cake Php キャッシュのやり方

  1. 1. 第 4 回 SE 勉強会  2008/4/6 (日)
  2. 2. CakePHP  キャッシュのやり方
  3. 3. まずは、キャッシュのメリットについて
  4. 4. サーバーの負荷軽減で、
  5. 5. 管理者 ヽ (*´∀ ` ) ノ
  6. 6. さくさく見れて、
  7. 7. ユーザーも ヽ (*´∀ ` ) ノ
  8. 8. それでは、本題へ
  9. 9. ビューのキャッシュ方法
  10. 10. /app/config/core.php define('CACHE_CHECK', false); define('CACHE_CHECK', true); まずは、キャッシュを有効にする
  11. 11. /app/controllers/samples_controller.php <?php class Test1sController extends AppController { var $cacheAction = array('index'=>'1 day'); var $helpers = array('Cache'); function index() { } } 1 day の部分は秒数でも OK ( cf. 1 day = 86400 )
  12. 12. 保存先は、
  13. 13. /app/tmp/cache/views/ 配下
  14. 14. ファイル名は
  15. 15. http://example.com/samples/ の場合
  16. 16. samples.php
  17. 17. パラメータがある場合は
  18. 18. http://example.com/samples/hoge/ なら
  19. 19. samples_hoge.php
  20. 20. パラメータに日本語がある場合
  21. 21. キャッシュが効かない!!!
  22. 22. なぜ??
  23. 23. 理由は、
  24. 24. 生成されたファイル名には、 日本語が入るが、
  25. 25. キャッシュの読み込み時には、 URL エンコードした値でファイルを検索
  26. 26. なので、
  27. 27. 一致ファイルがない=キャッシュ効かない
  28. 28. ではどうするか?
  29. 29. /app/views/helpers/cache.php ファイルがなければ、 /cake/libs/view/helpers/cache.php からコピーする $cache = $cache . '.php'; $cache = urlencode($cache) . '.php';
  30. 30. ページ内でキャッシュしたくない部分が ある時は???
  31. 31. /app/views/samples/index.thtml <cake:nocache> <?php echo date('Y/m/d l H:i:s'); ?> </cake:nocache> cake:nocache  タグで囲めば OK
  32. 32. 一部のデータのキャッシュについて
  33. 33. /app/tmp/cache/samples/test に hogehoge という値を保存する場合
  34. 34. cache(‘samples/test’, ‘hogehoge’);
  35. 35. 終わり

×