nDiki
2004年6月5日 (土)
■ [ WiKicker ] キャッシュまわりにバグ

Memcached まわりをいじったので、キャッシュ具合をテストしていたら変な現象が。 WikiPage が表示されるべきところに、検索結果が表示されている。 あれ?
@ ページの内容が表示されるところに検索結果が
WiKicker では WikiPage のレンダリング結果も検索結果もキャッシュしているが、それぞれ別のキャッシュキーになるようにしている (WiKickerのバージョンを $V とすると、'$V:h:ページ名' と '$V:s:検索語')ので混ざるはずがないんだけれどな。 キャッシュしているデータの形式も違うし。
最初は Memcached まわりのアップデートで不具合がでたのかと思ったが、戻しても変わらない。ということは、ずっと以前からこの問題が発生していたのか。 やば。 設定でニックネームを設定している(cookie に保存している)と、その Web ブラウザに対してはキャッシュ機能が働かないようになっているので発見が遅れてしまった。
で結局コードをチェックしてみたら「WikiPage 表示と検索結果表示の View クラスを同じにしていたため、検索結果のレンダリングが WikiPage レンダリング結果と同じ領域にキャッシュされる」という風になってしまっていた。 ということで誰かがページ名で検索するとそれがキャッシュされてしまい、ページを読もうとしてもキャッシュ破棄されるまで検索結果が表示されてしまうというひどい状況になっていたと。
修正。
@ キャッシュキーのバグ
Memcached の出力をチェックしていたら、たまにエラーが起きていることを確認。 Memcached のプロトコルをチェックしたら、キーには制御文字と空白は使えないとある。 Cache::Memcached を見たらキーはそのまま through するだけ。 ということでページ名に空白が含まれている場合などの時には、まずい事になっていたようだ。 こちらは、キーを自前でエンコーディング(ページデータベースファイル名の作成に使っている base64 の亜種)するように修正。
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- [ WiKicker ] WikiPage のHTMLレンダリング結果のキ... (2004-02-14)
- [ WiKicker ] Memcached を使った検索結果のキャッシング (2004-01-15)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- [ WiKicker ] Storable 永続化データの互換性 (2005-06-06)
■よく検索されるキーワード
torrent(114) ドラマ(32) thinkpad(30) x31(29) windows(28) perl(24) wiki(23) linux(22) 動画(21) 画像(16) usb(16) バッグ(16) ノート(15) debian(15) 壁紙(15) 書き方(13) 使い方(12) リフィル(12) 冷蔵庫(12) ほぼ日手帳(12) 修理(12) インストール(11) mp3(11) apache(11) dropbox(11) porter(11) 方眼(10) exzile(10) 作り方(10) 手帳(9) 提案書(9) a6(9) chrome(9) ダイソー(8) xorg(8) hdd(8) ヨドバシカメラ(8) 万年筆(8) ヨドバシ(8) tc-1(8) nikon(8) 古川小百合(8) 写真(8) スーベレーン(7) cvs(7) 無料(7) アレグラ(7) centos(7) google(7) アジェンダ(7) カメラ(7) 映画(7) 三条まゆみ(6) firefox(6) ibm(6) so905ics(6) うなぎ(6) 櫻井翔(6) 秋葉原(6) ダウンロード(6) 2ちゃんねる(6) 腕時計(6) truecrypt(6) 無料動画(6) gtd(6) minolta(6) スーツ(6) skype(5) 今江千佳(5) 無印(5) 時計(5) キーボード(5) シャープ(5) バッグインバッグ(5) 本名(5) ニューヨーカー(5) レビュー(5) fmアンテナ(5) subversion(5) 日本語(5)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 1.623708s / load averages: 0.13, 0.12, 0.09
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク