Plugin Help/cache
Help >> Plugin Help >> Plugin Help/cache
「cache」プラグインの説明ページです
説明
キャッシュについて
ページ中に「category_list」「stamp_list」「topic_list」各プラグインがあると、それぞれは該当するリストを表示します。例えば、「category_list PC」なら、Wiki中のPCカテゴリーに設定したページを全てリストアップします。
これらは非常に便利なものですが、一つ問題があります。
それは、リストアップにあたり、該当するものがないかWikiの全ページのソースを調べリストアップするようになっているので、ページの増加に伴い、表示までに時間がかかってしまう事です (サーバの能力次第で、耐えられない程長くなる事はないとは思いますが、場合によっては少し待たされるという事はあるでしょう)。
これは元々のcategory系プラグインの仕様で、それから派生して独自に作ったstampプラグイン、topicプラグインについても同様のものとなっています。また、Wikiの検索システムも同じ問題(量が増えるに伴い検索が大変になる事)を持っています。「Lite」でないFSWikiやその他であっても量が増えた際のかかる時間、サーバのパワー消費をどうするかというのは常に課題の一つです。
上記プラグインについて言えば、単純なチェックで多少の量なら問題はありませんが、「時間がかかる」=「使いたくない」という事にもなりかねず、サーバのパワー消費を抑えるためにも回避策が必要と思い、キャッシュ機能を作って導入しました。
キャッシュページは上記「〜_list」プラグインでリストアップが行われた際(厳密にいうとcategory.cgi、sign.cgiが呼び出された際)に自動的に生成されます (逆に言うと、リストアップが一度も行われていないとキャッシュは生成されていません)。
キャッシュページは生成した日時と、最新の状態(通常のリストアップ)へのリンクも備えています。
キャッシュページであれば、いちいち全ソースをチェックしにいかないのでより速く表示する事が可能です。一方で、最新の状態と整合していない可能性もありますが、納得いかないようなら最新の状態を表示させれば良いですし、それによってキャッシュも新しくなり、次に利用する人に役立ちます。
内容
- パラグラフ プラグイン
プラグイン構文を書く事で、cacheディレクトリ内のキャッシュページを内包表示出来ます。
ページが閲覧される際に「category_list」「stamp_list」「topic_list」各プラグインが呼び出されると、cacheディレクトリ内にキャッシュページが作られます(IOのCGI改造により)。そのキャッシュページ(内容)を任意のページ内部に表示させるのにこのプラグインを使います。
キャッシュページは以下のような流れで自動的に用意されます。
- 「list系プラグインがあるページ」もしくは「list系プラグインを使うCGI」を見ようと誰かが呼び出す
- その際にキャッシュページが存在していなければ(一番最初のアクセスなら)、通常通り検索してリストアップすると共にキャッシュページを自動作成する
- その後に「list系プラグインがあるページ」もしくは「list系プラグインを使うCGI」を見ようと誰かが呼び出した際は、検索はせず、キャッシュページが表示される
- キャッシュページではなく最新の状態を見たい人は、表示されたリンクをクリックする事で最新の状態を見る事も可能。その際は検索してリストアップすると共にキャッシュページを更新する
実際には、普通にlist系プラグインを利用するか、キャッシュページ利用するかはページの書き手の設定によります。
そのようにして出来たキャッシュページを、list系プラグインを使わずページ内部に表示させるのがこのcacheプラグインの役目です。
Aという署名(stamp)があるページのリストをページ内に表示させたい時に、「stamp_list A」では表示に時間がかかってしまうので、代わりに「cache stamp.A.wiki」を使うという感じです。
cacheディレクトリ内のキャッシュページは編集出来ません。自動的に生成されるのみです。
構文
{{cache キャッシュファイル名}}
- キャッシュファイル名
- 一部がURLエンコードされたキャッシュファイル名 (キャッシュページを表示すると、ファイル名もそこに記されています)
キャッシュファイル名の名付けルールは以下のようになっていますので、参考にして下さい。
- 「Category」の場合
- category.URLエンコードされたカテゴリー名.wiki
- 全カテゴリは「category.%A5%AB%A5%C6%A5%B4%A5%EA+%28cache%29.wiki」
- 「Topic」の場合
- category.URLエンコードされたトピック名.wiki
- 全トピックは「topic.%C1%B4%A5%C8%A5%D4%A5%C3%A5%AF+%28cache%29.wiki」
- 「Stamp」の場合 (r=Reader、w=Writer&Editor)
- stamp.r.URLエンコードされた署名.wiki
- stamp.w.URLエンコードされた署名.wiki
- 全スタンプ(アドレスちょっと変(^^;)CGI手直しすればいいんだろうけれど)は「stamp..%C1%B4%A5%B9%A5%BF%A5%F3%A5%D7+%28cache%29.wiki」
例
{{cache category.PC.wiki}}
PC
例に示したcategory「PC」のキャッシュページへのリンク
サイト内に表記された商品名、会社名等は各社の登録商標もしくは商標です。