Cache-Cache-1.01 > Cache::CacheMetaData

名前

Cache::CacheMetaData -- キャッシュの中のオブジェクトについてのデータ

説明

CacheMetaDataオブジェクトは、キャッシュの状態を追跡し、効果的に オブジェクトの大きさやキャッシュの大きさが限られるとき 削除される識別子が順番に並べられたリストのような情報を返すため、 サイズを意識するキャッシュによって使われます。エンド・ユーザが CacheMetaDataを直接使うことは通常ありません。

概要

 use Cache::CacheMetaData;

 my $cache_meta_data = new Cache::CacheMetaData( );

 foreach my $key ( $cache->get_keys( ) )
 {
    my $object = $cache->get_object( $key ) or
      next;

    $cache_meta_data->insert( $object );
  }

 my $current_size = $cache_meta_data->get_cache_size( );

 my @removal_list = $cache_meta_data->build_removal_list( );

メソッド

new( )

新しいCache::CacheMetaDataオブジェクトを組み立てる

insert( $object )

キャッシュの中のオブジェクト$objectについてCacheMetaDataに 知らせます。

remove( $key )

$keyで指定されたオブジェクトがもはやキャッシュにないことを CacheMetaDataに知らせます。

build_removal_list( )

以下の順番で並べられた、キャッシュの中のキーのリストを作成します:

1) 今、期限が切れるオブジェクト

2) ある時刻に期限が切れるオブジェクト。最後にアクセスされた時刻に よって結びつきが壊されて。

3) 決して期限が切れないオブジェクト、さらに一番最後にアクセスされた 時刻によって並べられます。

注意: accesed_atの結びつきに大きさも考慮することにより、 これは将来、改造されるかもしれません。しかしこの種類の結び付けは あまり通常は使われません。

build_object_size( $key )

$keyで指定されたオブジェクトの大きさを返します。

プロパティ

get_cache_size

キャッシュの中のオブジェクトの大きさの合計

参考資料

Cache::Cache, Cache::CacheSizer, Cache::SizeAwareCache

作者

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

Last author: $Author$

Copyright (C) 2001, 2002 DeWitt Clinton