Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cache::simple::timedexpiry(3pm) [debian man page]

Cache::Simple::TimedExpiry(3pm) 			User Contributed Perl Documentation			   Cache::Simple::TimedExpiry(3pm)

NAME
Cache::Simple::TimedExpiry - simple, time-expiring cache EXAMPLE package main; use strict; use warnings; $,=' '; $|++; use Cache::Simple::TimedExpiry; my $h = Cache::Simple::TimedExpiry->new; $h->set( DieQuick => "No duration!", 0); print $h->elements; do { $h->set($_,"Value of $_", 1); sleep 2;} for qw(Have a nice day you little monkey); print $h->elements; $h->dump; sleep 4; print $h->elements; $h->dump; print time; new Set up a new cache object expire_after SECONDS Set the cache's expiry policy to expire entries after SECONDS seconds. Setting this changes the expiry policy for pre-existing cache entries and for new ones. has_key KEY Return true if the cache has an entry with the key KEY fetch KEY Return the cache entry with key KEY. Returns undef if there is no such entry (Can also be called as get) store KEY VALUE Store VALUE in the cache with accessor KEY. Expire it from the cache at or after EXPIRYTIME. (Can also be called as set) AUTHOR
Jesse Vincent <jesse@bestpractical.com> Some of the heavy lifting was designed by Robert Spier <rspier@pobox.com> Copyright 2004 Jesse Vincent <jesse@bestpractical.com> perl v5.8.8 2008-03-06 Cache::Simple::TimedExpiry(3pm)

Check Out this Related Man Page

Historical(3pm) 					User Contributed Perl Documentation					   Historical(3pm)

NAME
Cache::Historical - Cache historical values SYNOPSIS
use Cache::Historical; my $cache = Cache::Historical->new(); # Set a key's value on a specific date $cache->set( $dt, $key, $value ); # Get a key's value on a specific date my $value = $cache->get( $dt, $key ); # Same as 'get', but if we don't have a value at $dt, but we # do have values for dates < $dt, return the previous # historic value. $cache->get_interpolated( $dt, $key ); DESCRIPTION
Cache::Historical caches historical values by key and date. If you have something like historical stock quotes, for example 2008-01-02 msft 35.22 2008-01-03 msft 35.37 2008-01-04 msft 34.38 2008-01-07 msft 34.61 then you can store them in Cache::Historical like my $cache = Cache::Historical->new(); my $fmt = DateTime::Format::Strptime->new( pattern => "%Y-%m-%d"); $cache->set( $fmt->parse_datetime("2008-01-02"), "msft", 35.22 ); $cache->set( $fmt->parse_datetime("2008-01-03"), "msft", 35.37 ); $cache->set( $fmt->parse_datetime("2008-01-04"), "msft", 34.38 ); $cache->set( $fmt->parse_datetime("2008-01-07"), "msft", 34.61 ); and retrieve them later by date: my $dt = $fmt->parse_datetime("2008-01-03"); # Returns 35.37 my $value = $cache->get( $dt, "msft" ); Even if there's no value available for a given date, but there are historical values that predate the requested date, "get_interpolated()" will return the next best historical value: my $dt = $fmt->parse_datetime("2008-01-06"); # Returns undef, no value available for 2008-01-06 my $value = $cache->get( $dt, "msft" ); # Returns 34.48, the value for 2008-01-04, instead. $value = $cache->get_interpolated( $dt, "msft" ); Methods new() Creates the object. Takes the SQLite file to put the date into as an additional parameter: my $cache = Cache::Historical->new( sqlite_file => "/tmp/mydata.dat", ); The SQLite file defaults to $HOME/.cache-historical/cache-historical.dat so if you have multiple caches, you need to use different SQLite files. time_range() # List the time range for which we have values for $key my($from, $to) = $cache->time_range( $key ); keys() # List all keys my @keys = $cache->keys(); values() # List all the values we have for $key, sorted by date # ([$dt, $value], [$dt, $value], ...) my @results = $cache->values( $key ); clear() # Remove all values for a specific key $cache->clear( $key ); # Clear the entire cache $cache->clear(); last_update() # Return a DateTime object of the last update of a given key my $when = $cache->last_update( $key ); since_last_update() # Return a DateTime::Duration object since the time of the last # update of a given key. my $since = $cache->since_last_update( $key ); LEGALESE
Copyright 2007-2011 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR
2007, Mike Schilli <cpan@perlmeister.com> perl v5.10.1 2011-04-27 Historical(3pm)
Man Page