andrejcremoznik/wp-cache-helper

此包已被废弃,不再维护。未建议替代包。

WordPress缓存功能包装器

1.0.1 2016-04-21 14:14 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:57:39 UTC


README

WordPress缓存功能的包装器类。

这是什么?

WordPress提供了一些缓存功能,使得清除先前保存的缓存变得没有必要地困难。这里的想法是通过附加一个数字来对缓存键进行版本控制。所以,不是用键mycache来缓存某物,而是将其缓存为mycacheN,其中N是一个整数,每次需要清除缓存(如save_post钩子)时都会递增。

安装

src/WpCacheHelper.php文件复制到您的项目,并要求它require_once('path/to/WpCacheHelper.php');

或者使用composer:composer require andrejcremoznik/wp-cache-helper

用法

use \AndrejCremoznik\WpCacheHelper\WpCacheHelper as Cache;

function do_something_expensive() {
    $cache = new Cache('data_key');
    $expensive_data = $cache->get();

    if ($expensive_data === false) {
        $expensive_data = get_expensive_data();
        $cache->set($expensive_data);
    }

    return $expensive_data;
}

echo do_something_expensive();

在保存/删除帖子时清除缓存

function invalidate_cache() {
    Cache::flush()
}
add_action('save_post',    'invalidate_cache');
add_action('deleted_post', 'invalidate_cache');