{"id":21647726,"url":"https://github.com/mschout/cache-cache","last_synced_at":"2025-03-20T01:54:14.687Z","repository":{"id":66495467,"uuid":"620325","full_name":"mschout/Cache-Cache","owner":"mschout","description":"Release history of Cache-Cache","archived":false,"fork":false,"pushed_at":"2010-04-21T21:10:27.000Z","size":186,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T05:11:24.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://search.cpan.org/dist/Cache-Cache/","language":"Perl","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mschout.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-04-20T21:05:36.000Z","updated_at":"2014-10-08T17:21:28.000Z","dependencies_parsed_at":"2023-02-20T05:10:28.393Z","dependency_job_id":null,"html_url":"https://github.com/mschout/Cache-Cache","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschout%2FCache-Cache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschout%2FCache-Cache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschout%2FCache-Cache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mschout%2FCache-Cache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mschout","download_url":"https://codeload.github.com/mschout/Cache-Cache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244536441,"owners_count":20468349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T06:51:21.467Z","updated_at":"2025-03-20T01:54:14.663Z","avatar_url":"https://github.com/mschout.png","language":"Perl","readme":"Copyright (C) 2001-2006 DeWitt Clinton  All Rights Reserved\n\n   You may distribute under the terms of either the GNU General Public\n   License or the Artistic License, as specified in the Perl README file.\n\n\nNAME\n\n  Cache::Cache\n\n\nDESCRIPTION\n\n  The Cache modules are designed to assist a developer in persisting\n  data for a specified period of time.  Often these modules are used\n  in web applications to store data locally to save repeated and\n  redundant expensive calls to remote machines or databases.  People\n  have also been known to use Cache::Cache for its straightforward\n  interface in sharing data between runs of an application or\n  invocations of a CGI-style script or simply as an easy to use\n  abstraction of the filesystem or shared memory.\n\n  The Cache package provides Cache::Cache, a generic interface\n  for creating persistent data stores.  This interface is implemented\n  by the Cache::MemoryCache, Cache::SharedMemoryCache, Cache::FileCache, \n  Cache::SizeAwareFileCache, Cache::SizeAwareMemoryCache, and \n  Cache::SizeAwareSharedMemoryCache classes. \n\n  This work aggregates and extends the obsolete File::Cache and\n  IPC::Cache projects.\n\n\nCACHE::CACHE VERSUS CHI\n\n  Cache::Cache is in wide use and very stable, but has not changed in years\n  and is no longer actively developed.\n\n  L\u003cCHI|CHI\u003e is the successor to Cache::Cache. It adheres to the basic\n  Cache::Cache API but adds new features and drivers (e.g. FastMmap and\n  Memcached), improves performance, and addresses limitations in the\n  Cache::Cache implementation. The authors recommend the use of CHI going forward.\n  \n  Questions about Cache::Cache and CHI may be directed to the perl-cache\n  mailing list at http://groups.google.com/group/perl-cache-discuss.\n\n\nREQUIREMENTS\n\n  Digest::SHA1\n  Error\n  File::Spec\n  File::Path\n  Storable\n\n\nOPTIONAL\n\n  IPC::ShareLite\n\n\nINSTALLATION\n\n  perl Makefile.PL\n  make\n  make test\n  make install\n\n\nUSAGE\n\n  First, choose the best type of cache implementation for your needs.\n  The simplest cache is the MemoryCache, which is suitable for\n  applications that are serving multiple sequential requests, and\n  wish to avoid making redundant expensive queries, such as an\n  Apache/mod_perl application talking to a database.  If you wish to\n  share that data between processes, then perhaps the\n  SharedMemoryCache is appropriate, although its behavior is tightly\n  bound to the underlying IPC mechanism, which varies from system to\n  system, and is unsuitable for large objects or large numbers of\n  objects.  When the SharedMemoryCache is not acceptable, then\n  FileCache offers all of the same functionality with similar\n  performance metrics, and it is not limited in terms of the number of\n  objects or their size.  If you wish to maintain a strict limit on\n  the size of a file system based cache, then the SizeAwareFileCache\n  is the way to go.  Similarly, the SizeAwareMemoryCache and the\n  SizeAwareSharedMemoryCache add size management functionality\n  to the MemoryCache and SharedMemoryCache classes respectively.\n\n  Using a cache is simple.  Here is some sample code for instantiating\n  and using a file system based cache.\n\n    use Cache::FileCache;\n\n    my $cache = new Cache::FileCache( );\n\n    my $customer = $cache-\u003eget( $name );\n\n    if ( not defined $customer )\n    {\n      $customer = get_customer_from_db( $name );\n      $cache-\u003eset( $name, $customer, \"10 minutes\" );\n    }\n\n    return $customer;\n\n  Please refer to the perldoc for Cache::Cache and the related\n  implementations for complete documentation.\n\nINCOMPATIBLE CHANGES\n\n  Cache::Cache 0.99 contains the following incompatible changes:\n\n    * Error::Simple is thrown on exceptions\n\n    * the get_identifiers method has been deprecated in favor of the\n      get_keys method\n\n    * the internal format of object in a FileCache has been modified,\n      necessitating a clearing of the cache while upgrading (make test \n      does this for the standard cache root)\n\n  Also note that Storable is not forward compatible between all \n  releases.  That is, older versions of the Cache will not always\n  be able to read objects written by newer versions.  This is\n  unlikely to ever be an issue in production scenarios.\n\n\nON LOCKING:\n\n  The FileCache backend uses an temp file and an atomic rename to\n  avoid requiring a lock during the write.  This has been demonstrated\n  to be safe across all platforms to date.\n\n  The MemoryCache backend relies on Perl's atomic write to a hash to\n  ensure that a lock is not required.\n\n  The SharedMemoryCache backend uses ShareLite's locking mechanism\n  for safety during the write.\n\n\nSEE ALSO\n\n  The project homepage at http://perl-cache.googlecode.com/.\n\n  The discussion list at http://groups.google.com/group/perl-cache-discuss.\n\n  The CHI project.\n\n\nAUTHOR\n\n  Original author: DeWitt Clinton \u003cdewitt@unto.net\u003e\n\n  Copyright (C) 2001-2009 DeWitt Clinton\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschout%2Fcache-cache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmschout%2Fcache-cache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmschout%2Fcache-cache/lists"}