名前¶
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