| SWISH-Prog documentation | Contained in the SWISH-Prog distribution. |
SWISH::Prog::Cache - simple in-memory cache class
use SWISH::Prog::Cache; my $cache = SWISH::Prog::Cache->new; $cache->add( foo => 'bar' ); $cache->has( 'foo' ); # returns true $cache->get( 'foo' ); # returns 'bar' $cache->delete( 'foo' ); # removes 'foo' from cache and returns 'bar'
SWISH::Prog::Cache is a simple in-memory caching class. It's basically just a Perl hash, but implemented as a class so that you can subclass it and use different storage (e.g. Cache::* modules).
See SWISH::Prog::Class. Only new or overridden methods are documented here.
Initialize the cache. Called internally by new(). You should not need to call this yourself.
Get/set the internal in-memory cache. The default is just a hash ref. Subclasses are encouraged to implement their own storage.
Does key exist in cache.
Returns value for key. Returns undef if has( key ) is false.
Delete key from cache.
Add key to cache with value value.
Peter Karman, <perl@peknet.com>
Please report any bugs or feature requests to bug-swish-prog at rt.cpan.org, or through
the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SWISH-Prog.
I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc SWISH::Prog
You can also look for information at:
Copyright 2008-2009 by Peter Karman
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| SWISH-Prog documentation | Contained in the SWISH-Prog distribution. |
package SWISH::Prog::Cache; use strict; use warnings; use base qw( SWISH::Prog::Class ); __PACKAGE__->mk_accessors(qw( cache )); use Carp; our $VERSION = '0.51';
sub init { my $self = shift; $self->SUPER::init(@_); $self->{cache} ||= {}; }
sub has { my $self = shift; my $key = shift; defined($key) or croak "key required"; return exists $self->{cache}->{$key}; }
sub get { my $self = shift; my $key = shift; defined($key) or croak "key required"; return exists $self->{cache}->{$key} ? $self->{cache}->{$key} : undef; }
sub delete { my $self = shift; my $key = shift; defined($key) or croak "key required"; delete $self->{cache}->{$key}; }
sub add { my $self = shift; my $key = shift; my $val = shift; defined($key) or croak "key required"; $self->{cache}->{$key} = $val; } 1; __END__