Changes for version 0.53

  • Improvements
    • Measure time elapsed in get, set, and compute; record in logs and stats. Only measure when debug logging or stats are enabled.
    • compute() now handles list or scalar caller context
    • The driver parameter now accepts full classes prefixed by '+', as is standard. driver_class is still accepted for backward compatibility but no longer documented.
  • Fixes
    • compute() no longer modifies passed-in options hashref
    • Fix get_multi_* with partially empty l1 cache - perl-chi/pull/12 (Mike Cartmell)
    • Fix get_keys when file_extension set on CHI::Driver::File (Vitaliy Tokarev)
    • Have set_multi call store_multi underneath as documented in Development.pod - RT #76621 (Oliver Paukstadt)
    • Minor POD fixes (Alessandro Ghedini)

Documentation

Benchmark cache modules against each other
Benchmarks of CHI and non-CHI drivers
Manual for developing new CHI drivers

Modules

CHI
Unified cache handling interface
Contains information about cache entries
Internal constants
Base class for all CHI drivers
Caches that delegate to a contained cache
CHI wrapper for Cache::Cache
Persistent interprocess cache via mmap'ed files
File-based cache using one file per entry in a multi-level directory structure
In-process memory based cache
Metacache for internal CHI use
Nothing is cached
In-process memory cache that stores direct references
Record and report per-namespace cache statistics

Provides

in lib/CHI/Driver/Role/HasSubcaches.pm
in lib/CHI/Driver/Role/IsSizeAware.pm
in lib/CHI/Driver/Role/IsSubcache.pm