[pod] [xml]

名前

Cache::Cache -- Cacheインターフェース

説明

Cacheモジュールは、指定された期間データを永続化させることで開発者を 助けるように設計されています。このモジュールは、リモート・マシンや データベースへの繰り返され、冗長で高価な呼び出しを節約するために データをローカルに格納するためにWebアプリケーションで、よく使われます。 また人々はCache::Cacheがわかりやすいインターフェースを アプリケーションの実行やCGIスタイルのスクリプトの呼び出しを、 またがってデータを共有する時の、わかりやすいインタフェースのために 使ったり、単純にファイルシステムや共有メモリの抽象化を簡単に利用する ことを知っています。

Cache::Cacheインターフェースはget, set, remove, size, purge, そしてclear インスタンス・メソッドと、メソッドの呼び出しを越えてデータを永続化する ための、それらに対応する静的メソッドサポートをサポートしているクラスに よって実装されます。

利用方法

最初に、あなたの必要にとって一番よいキャッシュの実装を選択してください。 最も単純なキャッシュはMemoryCacheです。これは複数の連続したリクエストを サービスし、冗長で高価な問い合わせを行うことを避けたい、データベースに アクセスするApache/mod_perlアプリケーションのようなアプリケーションに 適しています。プロセス間でデータを共有したいのであれば、 おそらくSharedMemoryCacheが適しているでしょう。しかしシステムによって 違いのあるベースとなるIPCメカニズムに強く結び付けられ、大きなオブジェクトや 多くのオブジェクトには向いていません。SharedMemoryCacheが受け入れられない ときには、FileCacheが同じ機能を、同じくらいのパフォーマンスで提供します。 しかもオブジェクトの数やそれらの大きさによって制限されません。 もしキャッシュのベースとなるファイル・システムの大きさを厳密に制限したい のであればSizeAwareFileCacheで実現できます。同様にSizeAwareMemoryCacheと SizeAwareSharedMemoryCacheは大きさ管理機能を、それぞれ MemoryCacheとSharedMemoryCacheに追加します。

キャッシュの使い方は簡単です。以下のサンプル・コードはファイルシステムを ベースとしてキャッシュのインスタンスを作り、利用しています。

  use Cache::FileCache;
  my $cache = new Cache::FileCache( );
  my $customer = $cache->get( $name );
  if ( not defined $customer )
  {
    $customer = get_customer_from_db( $name );
    $cache->set( $name, $customer, "10 minutes" );
  }
  return $customer;

定数

メソッド

オプション

以下のいずれかのキーを持っているハッシュへのリファレンスで渡されることにより オプションが設定されます:

プロパティ

参考資料

Cache::Object, Cache::MemoryCache, Cache::FileCache, Cache::SharedMemoryCache, and Cache::SizeAwareFileCache

作者

Original author: DeWitt Clinton <dewitt@unto.net>

Last author: $Author: hippo2000 $

Copyright (C) 2001, 2002 DeWitt Clinton