Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cake Php キャッシュのやり方

4,905 views

Published on

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

Published in: Technology
  • Be the first to comment

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. 終わり

×