=encoding euc-jp =head1 名前 Cache::SizeAwareCache -- Cacheインターフェースの拡張 =head1 説明 SizeAwareCacheインターフェースはCache::Cacheインターフェースに 加えて、大きさチェックするキャッシュのlimit_sizeとmax_sizeという特徴も サポートするクラスによって実装されます。 デフォルトのキャッシュ・サイズ制限アルゴリズムは、希望する制限に 届くまで、以下の順序でキャッシュ・オブジェクトを削除することによって 行われます: 1) 期限が切れたオブジェクト 2) 最後にアクセスされたオブジェクト 3) 次に期限が切れるオブジェクト =head1 概要 use Cache::SizeAwareCache; use vars qw( @ISA ); @ISA = qw( Cache::SizeAwareCache ); =head1 定数 標準の定数についてはCache::Cacheをご覧ください =over =item I<$NO_MAX_SIZE> キャッシュには何も大きさの制限がありません =back =head1 メソッド 標準のメソッドについてはCache::Cacheをご覧ください。 =over =item B 全体のディスク使用量がI<$new_size>よりも下回るようにキャッシュの大きさを 変更しようとします。I<$new_size>はキャッシュがそこまでに制限されなければ ならないサイズ t(バイト単位)を表します。これは一度の調整だけであることに 注意してください。キャッシュの大きさを管理するためには、I オプションを使うことを考えてください。これが非常に高価だと思うかも しれません。そして定期的にIを呼び出すことにより よりよく実現できることが多いかもしれません。 =back =head1 オプション 標準のオプションについてはCache::Cacheをご覧ください。 =over =item I max_sizeプロパティを(大きさをバイト単位で)設定します。これについての 詳細は以下で説明します。デフォルトはI<$NO_MAX_SIZE>になります。 =back =head1 プロパティ 標準のプロパティについてはCache::Cacheを、ご覧ください。 =over =item B<(get|set)_max_size> このプロパティが設定されると、キャッシュは指定された 最大の大きさ(バイト単位)を越えないようにしようとします。注意:これは キャッシュの大きさがsetされるたびにチェックされるようになります。 そして実装によっては*非常に*高価にであると考えられるかもしれません。 よい代わりのアプローチはmax_sizeは$NO_MAX_SIZEとしたまま、 limit_size( $size )メソッドを呼び出すことによりキャッシュの大きさを 定期的に制限することです。 =back =head1 参考資料 Cache::Cache =head1 作者 Original author: DeWitt Clinton Last author: $Author: iwai $ Copyright (C) 2001, 2002 DeWitt Clinton