トップ(最新)

nDiki : Cache::Cache

Cache::Cache

Perlキャッシュ関連モジュールライブラリ。 Perl 5.005_03 でも利用可能(Cache-Cache-1.04)。

同様のライブラリとして Cache がある。

キャッシュ実装のバリエーション

ライブラリに含まれているキャッシュ実装としては以下のようなものがある。

Cache::FileCacheファイルベースのキャッシュ
Cache::MemoryCacheメモキャッシュ
Cache::SharedMemoryCache共有メモリでのキャッシュ
Cache::SizeAwareFileCacheファイルベースのキャッシュ (最大容量制限有)
Cache::SizeAwareMemoryCacheメモキャッシュ (最大容量制限有)
Cache::SizeAwareSharedMemoryCache共有メモリでのキャッシュ (最大容量制限有)
Cache::NullCacheキャッシュをしない

Cache::Cache を使う時にロック処理が必要?

Cache::FileCache系では、一時ファイルとアトミックな rename を使うことで書き込み時のロックを省略している。 Cache::MemoryCache系では、ハッシュへの書き込みのアトミック性によりロックは不要である。 Cache::SharedMemoryCache系では、バックエンドのIPC::ShareLiteロック処理を使用している(Cache::CacheREADME 参照)。

ということで Cache::Cache を利用する側は get/setのために自前でロックをする必要無し。

有効期限

デフォルトでは無期限である。 キャッシュ作成 (new) 時に default_expires_in オプションで変更することができる。

またデータのキャッシュ時 (set) 時に個別に指定することもできる。

有効期限は次の get 時にチェックされる。 キャッシュをスキャンし、有効期限切れのオブジェクトを削除するには Purge() / purge() を使用する。auto_purge_interval、auto_purge_on_set、auto_purge_on_get を使用することで、一定期間毎に自動的に削除させるようにすることもできる。

Cache::Cache を使用しているモジュール。

等で利用されている。

関連情報

スポンサード リンク

Related term

2005年10月29日 (土)

他の Web サイトの情報を URI::Fetchキャッシュ付き取得 このエントリーを含むはてなブックマーク

WiKickerDiKicker でうまく他のサイトの情報を取り込んで利用できるようにしたい。 相手サイト・自サイトともに負荷をかけないように処理するには、うまくキャッシングする必要がある。

キャッシュ機能のあるPerlHTTPユーザエージェントには

などがある。

@ WWW::Mechanize::Cached 1.32

WWW::Mechanize::Cached は1度取得したレスポンスを無条件に1日間キャッシュする。 WWW::Mechanize のサブクラスで、便利な機能が利用できるが、キャッシュは適当。

キャッシュCache::FileCache決め打ち。

@ LWP::UserAgent::WithCache 0.03

LWP::UserAgentのサブクラス。 Expires、Last-Modified、Etag ヘッダを考慮して処理する。

キャッシュCache::FileCache決め打ち。

@ URI::Fetch 0.04

fetch サブルーチンのみを提供するシンプルなモジュール。

キャッシュは Cache 系APIのモジュールを指定する。実際には Cache::Cache 系でもOK。 Last-Modified、Etag を考慮して処理する。

前回のアクセスから一定時間はキャッシュを返すようにする機能があり、RSS や Atom フィードを取得して利用するのに便利。

@ 今回は

URI::Fetch をチョイス。 our を使っているのでそのままでは Perl 5.005_03 では動かないが、use vars に書き換えれば問題なく動く。

スポンサード リンク


[ 10月29日全て ]

■よく検索されるキーワード

torrent(62) windows(62) perl(58) 提案書(48) 書き方(47) linux(44) アジェンダ(32) usb(29) 動画(27) x31(27) 使い方(27) 手帳(25) ssh(25) mp980(23) thinkpad(22) svn(21) ほぼ日手帳(21) java(21) インストール(20) 画像(20) debian(20) ドラマ(16) subversion(16) cvs(15) ubuntu(15) 設定(15) 秋葉原(14) gmail(13) ヨドバシ(13) 無料動画(13) tortoisesvn(13) dropbox(13) c#(12) .net(12) 壁紙(12) make(12) gnu(12) ノート(11) ヨドバシカメラ(11) a6(11) tc-1(11) ganttproject(11) 冷蔵庫(11) 宮根誠司(11) porter(11) 無印(10) フリー(10) 筆まめ(10) tar(10) 充電式カイロ(10) 方眼(9) パスワード(9) 日本語(9) visual(9) cwrsync(9) wiki(9) gimp(9) フォーマット(9) firefox(8) ボールペン(8) nullpointerexception(8) grub(8) skk(8) ppm(8) ご査収(8) ダウンロード(8) ケース(8) サンプル(8) 提案書の書き方(8) 無料(8) 無印良品(8) google(8) 2008(8) gtd(8) 3.5(8) framework(8) ツール(8) cgi(7) mew(7) バッグインバッグ(7)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.049579s / load averages: 0.50, 0.25, 0.19
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)