alexsancho/wp-redis-group-cache

一个扩展 WordPress Redis 对象缓存的插件,增加了分组缓存功能

此包的官方仓库似乎已消失,因此该包已被冻结。

安装: 246

依赖: 1

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

类型:wordpress-plugin

v1.0.2 2018-03-28 11:12 UTC

This package is auto-updated.

Last update: 2021-10-14 12:35:27 UTC


README

此插件为使用 Redis 对象缓存 WordPress 插件的网站提供了分组缓存功能。

功能

创建缓存组

为 WP 对象缓存项定义一个组可以实现对一组缓存项的同步缓存失效。有关设置组键的更多信息,请参阅 codex。以下函数通过挂钩 Redis 对象缓存插件来创建对象缓存功能

add_to_group

此函数通过 wp_cache_set 函数与缓存设置挂钩。如果为 wp_cache_set 设置了组键,则缓存键会被推送到由组键映射的 Redis 哈希列表中。

delete_from_group

此函数通过 wp_cache_delete 函数与缓存删除挂钩。如果为 wp_cache_delete 设置了组键,则指定的项键将从组列表中删除。这确保了组中只包含对象缓存中实际存在的键。

使缓存组失效

delete_group

此函数通过首先获取所有键并从 Redis 中删除它们,然后删除组的 Redis 哈希列表来删除与组键相关联的所有数据。

用法

\Asancho\GroupCache::delete_group( $group_key );

排除组从缓存

Redis 插件会自动将所有存储在 WordPress 对象缓存中的数据缓存到 Redis 中。如果您想排除某些组存储到组缓存中,请为相应的组键返回 trueno_group_cache 过滤器。

function no_group_cache( $group, $key ) {
    if ( 'no_caching_key' === $group ) {
        return true;
    } else {
        return false;
    }
}
add_filter( 'redis/cache/no_group_cache', 'no_group_cache', 1, 2 );

请注意,这不会禁用初始的键值缓存!