キャッシュによる高速化

  • ページ: Develop/Modification1
  • 投稿者: ぃぉぃぉ
  • 優先順位: 普通
  • 状態: 提案
  • カテゴリー: その他
  • 投稿日: 2011-10-20 (木) 20:26:30
  • バージョン:

メッセージ

ページデータのキャッシュ化

ページ部分のhtmlデータは書き込み時に生成しちゃって高速化しよう。ただし、各プラグインに動的表示があるかどうかのフラグを持たせ、必要な場合は毎回htmlを生成するようにする。

プラグイン毎の対応

  • $vars['cache_enable']['plugin名']
    • pluginを呼ぶ前にfalseにする。
      • lib/plugin.phpのdo_plugin_convert()とdo_plugin_inline()
    • plugin中でcache化してokであれば、trueにする。
      • だめなpluginの例 ... ls2、pagetree、counter、include、related
    • 複数回呼ばれると、後勝ちになってしまう。プラグインの中で動作が変わりうるものについては、NGの場合、['plugin名']を['plugin名_nocache'](=FALSE)とする。

キャッシュファイル

HTCACHE_DIRに'../'.DATA_DIR.'html/'でどうかな。CACHE_DIRとしてcache/を使いたいところだけど、現状違う使われ方をしているし、とりあえず分けておこう。

/data/html/ページ名エンコード.html

ページ削除時に削除対象ファイルとすることも忘れずに。

関数

  • is_cached()
  • page_cache()
  • get_cache()
    • ページ名のキャッシュを取得。キャッシュがあれば取得。無ければconvert_html()
  • make_cache()
    • $vars['cache_enable']をチェックして、全てtrueであればキャッシュファイル生成。convert_html後のテキストファイルを置く。一つでもNGならファイル削除。

  • relatedとかincludeを多用したページとかで動作が軽くなるはず。 -- ぃぉぃぉ 2011-10-20 (木) 20:27:40


トップ 編集差分バックアップ添付複製名前変更リロード 新規一覧 単語検索 最終更新  ヘルプ  最終更新のRSS