Cache::BerkeleyDB(3) User Contributed Perl Documentation Cache::BerkeleyDB(3)
NNAAMMEE
Cache::BerkeleyDB -- implements the Cache::Cache interface.
DDEESSCCRRIIPPTTIIOONN
This module implements the Cache interface provided by the Cache::Cache
family of modules written by DeWitt Clinton. It provides a practically
drop-in replacement for Cache::FileCache.
As should be obvious from the name, the backend is based on BerkeleyDB.
SSYYNNOOPPSSIISS
use Cache::BerkeleyDB;
my $cache = new Cache::BerkeleyDB( { 'namespace' => 'MyNamespace',
'default_expires_in' => 600 } );
See Cache::Cache for the usage synopsis.
MMEETTHHOODDSS
See Cache::Cache for the API documentation. Only changes relative to
the standard methods are mentioned below.
CClleeaarr(( [[$$ccaacchhee__rroooott]] ))
See Cache::Cache, with the optional _$_c_a_c_h_e___r_o_o_t parameter.
PPuurrggee(( [[$$ccaacchhee__rroooott]] ))
See Cache::Cache, with the optional _$_c_a_c_h_e___r_o_o_t parameter.
SSiizzee(( [[$$ccaacchhee__rroooott]] ))
See Cache::Cache, with the optional _$_c_a_c_h_e___r_o_o_t parameter.
OOPPTTIIOONNSS
See Cache::Cache for standard options. Additionally, options are set
by passing in a reference to a hash containing any of the following
keys:
_c_a_c_h_e___r_o_o_t
The location in the filesystem that will hold the BDB files repre-
senting the cache namespaces. Defaults to /tmp unless explicitly
set.
_u_m_a_s_k
The umask which will be active when any cache files are created.
Defaults to 002. Note that this will have no effect on existing
files.
PPRROOPPEERRTTIIEESS
See Cache::Cache for default properties.
((ggeett||sseett))__ccaacchhee__rroooott
Acessor pair for the option _c_a_c_h_e___r_o_o_t - see description above.
SSEEEE AALLSSOO
Cache::Cache
Cache::FileCache
BerkeleyDB
Cache::BerkeleyDB_Backend
TTOODDOO
(1) The current version (0.03) uses the framework provided by the
Cache::Cache family of modules quite heavily. In particular, it relies
on Cache::BaseCache and Cache::Object for much of its functionality.
This has obvious advantages; it means, however, that the extra speed
gained by switching from the flat files of Cache::FileCache to a Berke-
leyDB backend is much reduced compared with a top-to-bottom implementa-
tion utilizing the latter's strengths to the full. Currently the speed
gain relative to Cache::FileCache is in the range of 200% to 350%; I'm
confident this can be increased significantly.
(2) Since each cache namespace is represented as a separate BDB file,
operating with (very) many namespaces in the same process may get you
in trouble. While this has not been verified yet, it may make this ver-
sion unsuitable for some uses, such as in an HTML::Mason environment
under mod_perl. Future versions will probably implement multiple names-
paces in the same file.
(3) The current version is Unix-specific. That will probably change.
AAUUTTHHOORR
Baldur Kristinsson <
[email protected]>, January 2006.
Copyright (c) 2006 Baldur Kristinsson. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
perl v5.8.7 2006-02-02 Cache::BerkeleyDB(3)