themeplate/cache

Convenient fragment caching methods

v2.6.2 2024-05-20 04:06 UTC

This package is auto-updated.

Last update: 2024-11-20 07:08:43 UTC


README

Usage

use ThemePlate\Cache;

Cache::remember( 'unique_key', function() {
    return expensive_task();
}, MINUTE_IN_SECONDS );

Cache::forget( 'unique_key' );

Cache::file( 'special_key', 'path_to_file' );

$processor = Cache::processor();

$processor->report( function( $output ) {
    error_log( print_r( $output, true ) );
} );


function hourly_moment() {
    return 'to remember ' . time();
}

Cache::remember( 'unique_key', 'hourly_moment', HOUR_IN_SECONDS );

Force refresh value/s

<WP_HOME>/?tcs_refresh=<single_key>

<WP_HOME>/?tcs_refresh[]=<key1>&tcs_refresh[]=<key2>

works only when logged-in

Cache::remember( $key, $callback, $expiration )

Retrieve content from the cache or, if it doesn't exist, execute $callback and its result is returned then saved

  • $key (string)(Required) Unique cache key to use
  • $callback (callable)(Required) Function that returns data to store
  • $expiration (int)(Optional) Number of seconds before entry expires. Default 0 (forever)

Cache::forget( $key, $default )

Retrieve and delete the cache

  • $key (string)(Required) Unique cache key to use
  • $default (mixed)(Optional) To return if cache doesn't exist. Default null

Cache::file( $key, $path )

Like remember but, uses the file contents and no expiration, automatically updates if the file is modified instead

  • $key (string)(Required) Unique cache key to use
  • $path (string)(Required) Path of the file to read

Cache::processor()

Support for soft-expiration, Cache::remember* and Cache::file updates in the background

*Except for using anonymous function as callback (closure)