A module that caches a data structure against a filename, statting the

file to determine whether it has changed and needs to be re-parsed.
You supply a routine to generate the data structure given the filename.

This module is recommended for files which change infrequently but
are read often, especially if they are expensive to parse.

This approach has the advantage over lazy caching that multiple
processes holding a cache will all update at the same time so you
will not get inconsistent results if you request data from different
processes.

The module itself is simply a factory for various backend modules.
The distribution includes backends for in-memory caching or file
caching using Storable, plus an adaptor to use any modules offering
the Cache or Cache::Cache interfaces as the cache implementation.

Data structures are automatically serialised/deserialised by the
backend modules if they are being persisted somewhere other than
in memory (e.g. on the filesystem).

WWW: http://search.cpan.org/dist/Cache-AgainstFile/

PR:		ports/146443
Submitted by:	Eric Freeman <freebsdports at chillibear.com>
This commit is contained in:
Martin Wilke 2010-05-10 02:39:55 +00:00
parent 14923d1dc1
commit 987c910c99
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=254037
5 changed files with 71 additions and 0 deletions

View file

@ -1151,6 +1151,7 @@
SUBDIR += p5-CPANPLUS
SUBDIR += p5-CPANPLUS-Dist-Build
SUBDIR += p5-Cache
SUBDIR += p5-Cache-AgainstFile
SUBDIR += p5-Cache-Cache
SUBDIR += p5-Cache-FastMmap
SUBDIR += p5-Cache-Memcached-Tie

View file

@ -0,0 +1,34 @@
# Ports collection makefile for: devel-p5-Cache-AgainstFile
# Date created: 10 April 2010
# Whom: Eric Freeman <freebsdports@chillibear.com>
#
# $FreeBSD$
#
PORTNAME= Cache-AgainstFile
PORTVERSION= 1.016
CATEGORIES= devel perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= Cache
PKGNAMEPREFIX= p5-
MAINTAINER= freebsdports@chillibear.com
COMMENT= Cache data structures parsed from files, watching for updates
RUN_DEPENDS= p5-Log-Trace>0:${PORTSDIR}/devel/p5-Log-Trace \
p5-Test-Assertions>0:${PORTSDIR}/devel/p5-Test-Assertions
BUILD_DEPENDS= ${RUN_DEPENDS}
PERL_CONFIGURE= yes
MAN3= Cache::AgainstFile::Memory.3 \
Cache::AgainstFile.3 \
Cache::AgainstFile::Storable.3 \
Cache::AgainstFile::Null.3 \
Cache::AgainstFile::Base.3 \
Cache::AgainstFile::CacheModule.3
regression-test:
cd ${WRKSRC} && ${MAKE} test
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
MD5 (Cache-AgainstFile-1.016.tar.gz) = c9f0cc7c4ce26812d90fa5ba0198d91c
SHA256 (Cache-AgainstFile-1.016.tar.gz) = 64e97a636aa733ba453999cd45bbef97ba4e462fab45b7f75f0ef5a2e276f5d5
SIZE (Cache-AgainstFile-1.016.tar.gz) = 20956

View file

@ -0,0 +1,22 @@
A module that caches a data structure against a filename, statting the
file to determine whether it has changed and needs to be re-parsed.
You supply a routine to generate the data structure given the filename.
This module is recommended for files which change infrequently but
are read often, especially if they are expensive to parse.
This approach has the advantage over lazy caching that multiple
processes holding a cache will all update at the same time so you
will not get inconsistent results if you request data from different
processes.
The module itself is simply a factory for various backend modules.
The distribution includes backends for in-memory caching or file
caching using Storable, plus an adaptor to use any modules offering
the Cache or Cache::Cache interfaces as the cache implementation.
Data structures are automatically serialised/deserialised by the
backend modules if they are being persisted somewhere other than
in memory (e.g. on the filesystem).
WWW: http://search.cpan.org/dist/Cache-AgainstFile/

View file

@ -0,0 +1,11 @@
%%SITE_PERL%%/Cache/AgainstFile.pm
%%SITE_PERL%%/Cache/AgainstFile/Memory.pm
%%SITE_PERL%%/Cache/AgainstFile/Storable.pm
%%SITE_PERL%%/Cache/AgainstFile/CacheModule.pm
%%SITE_PERL%%/Cache/AgainstFile/Base.pm
%%SITE_PERL%%/Cache/AgainstFile/Null.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Cache/AgainstFile/.packlist
@dirrm %%SITE_PERL%%/Cache/AgainstFile
@dirrmtry %%SITE_PERL%%/Cache
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Cache/AgainstFile
@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Cache