• 追加された行はこの色です。
  • 削除された行はこの色です。
* キャッシュによる高速化
-ページ:     [[Develop/Modification1]]
-投稿者:     [[ぃぉぃぉ]]
-優先順位:   普通
-状態:       提案
-カテゴリー: その他
-投稿日:     2011-10-20 (木) 20:26:30
-バージョン: 

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

#code(){{{
表示可能な場合
  編集可能->キャッシュを使わず表示
編集不可能な場合
  ->キャッシュ表示可能?
      YES->キャッシュ表示
      NO->キャッシュを使わず表示&キャッシュ削除
}}}
***プラグイン毎の対応
-$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)とする。
***キャッシュファイル
/data/cache/ページ名エンコード.html
 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を多用したページとかで動作が軽くなるはず。 -- [[ぃぉぃぉ]] &new{2011-10-20 (木) 20:27:40};

#comment


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