Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 2.25 KB

blog_cache.md

File metadata and controls

41 lines (29 loc) · 2.25 KB

キャッシュ

http://www.bear-project.net/blog/wp-content/uploads/2011/07/43cbe2a177f5fc76d65ff396ccf98908.png

URIと引き数で外部から自動的にキャッシュキーがつくれ、階層構造を持つリソースはキャッシュ機構との相性が良く、簡単に効果的に使用することができます。

キャッシュはページ、リソースに指定できます。リソースを使う事の一つにキャッシュがあります。データやロジックをリソースにしておく事により、リソースの共通のキャッシュ機構を使う事ができます。

ページやリソースは階層構造を持つのでキャッシュも階層構造をもつことになります。リソースに10秒、ページに5秒のキャッシュを指定するとページの読み込みの2回に1回しかリソースの実リクエストは行われません。逆の指定をするとリソースキャッシュは使われる事はありません。(ページの取得を行うときはリソースキャッシュはかならず有効期限がきれてるためです。)

キャッシュの準備

app.ymlにキャッシュアダプターを指定します。

BEAR_Cache:
  # int  キャッシュアダプター 0 なし | 1 PEAR::Cache_Lite | 2 MEMCACHE | 3 APC
  adapter: 3

リソースキャッシュ

リソースキャッシュの指定はoptionに指定します。

        $params = array(
            'uri' => 'Post',
            'options' => array('template' => 'post_editable',
                               'cache' => array('life' => 10)
                         )
        )

リソースキャッシュの消去

lifeを0にして読み込むと消去されます。

ページキャッシュ

ページにはonInit内のリソースリクエストの結果をキャッシュする'init'とHTML出力が含められたページ全体の'page'キャッシュがあります。

いずれの場合もUA(ユーザーエージェント)が考慮され、携帯用のページがPCで表示されることがないようになっています。

関連項目