キャッシュと同期

curlのホームページにキャッシュと同期に関するドキュメントがアップされました。

上記リンク先の中ほどに、「パッケージキャッシュのメリットを引き出す方法」というタイトルで当該文書へのリンクがあります。具体的には、curlのキャッシュメカニズムを正しく効率的に使うための、各種推奨設定についての説明が記載されています。

上記ドキュメントは推奨設定についてのみ書かれているため、curlのキャッシュメカニズム自体について理解したい方は開発者ガイドの以下を参照しましょう。

  • [Surge Lab 開発者ガイド > コンテンツのパッケージ > キャッシュと同期]


詳細は上述したドキュメントや開発者ガイドを参照してもらうとして、curlで再同期を制御するためにまず押さえておくべき事項は resync-as-of の指定方法です。基本は簡単で、例えば2007年3月21日にcurlアプリケーションを一部アップデートした場合は、アプレット宣言の中に以下のような resync-as-of 指定を含ませます。

{applet
    resync-as-of = {utc-date-time "2007-3-21"}
}

つまり、Webサーバにデプロイされているpcurlを新しいバージョンと差し替える場合などは、同時にその更新日時(pcurlを差し替えた日時)をアプレットファイル中の resync-as-of で指定するようにします。アプレットは起動時に resync-as-of 日時を読み取り、それよりも過去の日時にキャッシュされたコンテンツについて同期をとるように動作するため、差し替えられた新しいpcurlが正しく使われるという仕組みです。