Cache-Cache-1.01 > Cache::SizeAwareCache

名前

Cache::SizeAwareCache -- Cacheインターフェースの拡張

説明

SizeAwareCacheインターフェースはCache::Cacheインターフェースに 加えて、大きさチェックするキャッシュのlimit_sizeとmax_sizeという特徴も サポートするクラスによって実装されます。

デフォルトのキャッシュ・サイズ制限アルゴリズムは、希望する制限に 届くまで、以下の順序でキャッシュ・オブジェクトを削除することによって 行われます:

  1) 期限が切れたオブジェクト
  2) 最後にアクセスされたオブジェクト
  3) 次に期限が切れるオブジェクト

概要

  use Cache::SizeAwareCache;
  use vars qw( @ISA );

  @ISA = qw( Cache::SizeAwareCache );

定数

標準の定数についてはCache::Cacheをご覧ください

$NO_MAX_SIZE

キャッシュには何も大きさの制限がありません

メソッド

標準のメソッドについてはCache::Cacheをご覧ください。

limit_size( $new_size )

全体のディスク使用量が$new_sizeよりも下回るようにキャッシュの大きさを 変更しようとします。$new_sizeはキャッシュがそこまでに制限されなければ ならないサイズ t(バイト単位)を表します。これは一度の調整だけであることに 注意してください。キャッシュの大きさを管理するためには、max_size オプションを使うことを考えてください。これが非常に高価だと思うかも しれません。そして定期的にlimit_sizeを呼び出すことにより よりよく実現できることが多いかもしれません。

オプション

標準のオプションについてはCache::Cacheをご覧ください。

max_size

max_sizeプロパティを(大きさをバイト単位で)設定します。これについての 詳細は以下で説明します。デフォルトは$NO_MAX_SIZEになります。

プロパティ

標準のプロパティについてはCache::Cacheを、ご覧ください。

(get|set)_max_size

このプロパティが設定されると、キャッシュは指定された 最大の大きさ(バイト単位)を越えないようにしようとします。注意:これは キャッシュの大きさがsetされるたびにチェックされるようになります。 そして実装によっては*非常に*高価にであると考えられるかもしれません。 よい代わりのアプローチはmax_sizeは$NO_MAX_SIZEとしたまま、 limit_size( $size )メソッドを呼び出すことによりキャッシュの大きさを 定期的に制限することです。

参考資料

Cache::Cache

作者

Original author: DeWitt Clinton <[email protected]>

Last author: $Author$

Copyright (C) 2001, 2002 DeWitt Clinton