昔,カモランドをWiki化するにあたって,ページ生成処理のせいでカモランドの表示で遅くなってしまうのを抑えるために,Apacheのmod_cacheを使ったキャッシュを行った. それで,俺はFireFoxをほとんど使わないので,これでまぁまぁうまくいってるものだと思いこんでいたのだが, ふぎゃー,FireFoxを使ってみると,普通にリロードしただけでApache側のキャッシュリフレッシュがかかるんだな. 単純リロードでそういうヘッダを送るFireFoxが悪いのか,Apacheが悪いのかよくわからんが,それが現実のようだ. またIEを使った場合でも,proxy経由だとそのproxyの状況によって単純リロードでもキャッシュリフレッシュがかかってしまうことを確認している. ...こういう状況を何とかするために,PyukiWikiを改造してキャッシュ機能を付けた.
![]() (↑説明図.今回(2)の経路ができたということ.解説ページは → PyukiWikiにキャッシュ機能をつける) WikiのCGIプログラムがSTDOUTに出力しているHTMLをまるごとファイルに保存して,同じページが要求されたときはそのファイルの内容を出力するという話. これを実装するにあたって,
というのが最大の問題だったが,perlの場合は
open (STDOUT, "|tee cache.txt"); 〜STDOUTへの出力処理〜 close(STDOUT); こんな感じでSTDOUTをteeにパイプすれば,出力内容を別ファイル(これならcache.txt)に複製できた. これは便利だ. |