alexsancho / wp-redis-group-cache
一个扩展 WordPress Redis 对象缓存的插件,增加了分组缓存功能
此包的官方仓库似乎已消失,因此该包已被冻结。
v1.0.2
2018-03-28 11:12 UTC
Requires
- php: >=5.4
- alexsancho/wp-redis-object-cache: *
- composer/installers: ^1.0.0
- roave/security-advisories: dev-master
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 中。如果您想排除某些组存储到组缓存中,请为相应的组键返回 true
的 no_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 );
请注意,这不会禁用初始的键值缓存!