use Bio::EnsEMBL::DBSQL::DBAdaptor;
$db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(...);
$seq_region_cache = $db->get_SeqRegionCache();
$key = "$seq_region_name:$coord_system_id";
$array = $seq_region_cache->{$key};
if ($array) {
$name = $array->[1];
$length = $array->[3];
} else {
# cache miss, get the info from the database
# ...
# cache the retrieved information
$seq_region_cache->{$key} = [
$seq_region_id, $seq_region_name,
$coord_system_id, $seq_region_length
];
}
None available.
sub new
{ my $class = shift;
my %id_cache;
my %name_cache;
tie(%name_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE);
tie(%id_cache, 'Bio::EnsEMBL::Utils::Cache', $SEQ_REGION_CACHE_SIZE);
return bless {'name_cache' =>\% name_cache,
'id_cache' =>\% id_cache}, $class;
}
1; } |