derhasi / cache_split
此包已被废弃且不再维护。作者建议使用 drupal/cache_split 包代替。
1.0.0-alpha1
2017-03-08 10:24 UTC
This package is not auto-updated.
Last update: 2019-02-20 19:10:11 UTC
README
该模块为Drupal提供缓存后端,可以将单个bin的缓存项拆分为单独的后端。
安装
- 下载 cache_split 模块或通过 Composer 添加
- 启用
cache_split
模块(例如drush en cache_split
) - 在您的 settings.php 中更改bin的缓存后端(例如
render
)
<?php $settings['cache']['bins']['render'] = 'cache.backend.split'; ?>
- 在 settings.php 中添加bin的拆分配置
<?php $settings['cache_split']['render'] = [ //.. ];
详细信息请参阅下面的 配置。
配置
必须在 settings.php 中定义缓存bin的配置
<?php $settings['cache_split']['NAME_OF_CACHE_BIN'] = [ //.. ];
匹配器定义
每个bin可以包含多个匹配器定义,每个定义可能包含以下内容
backend
: 要使用的缓存后端服务名称(例如cache.backend.database
)。如果未指定,则默认为定义的键。includes
: 应用于此后端的所有cid模式数组。如果为空,则包含所有cid(除非由excludes
排除)。excludes
: 不应用于此后端的所有cid模式数组
通配符语法
cid模式可以使用 *
匹配任意数量的任意字符。
后备缓存后端
可以通过简单地省略 includes
和 excludes
或将它们留空来定义后备后端。
确保后备后端是最后定义的,以便考虑其他定义。
如果没有指定后备后端,则将 cache.backend.database
设置为默认。
示例
<?php $settings['cache_split'] = [ // Splits render cache in multiple backends. 'render' => [ // Do not cache render results for paragraphs, as they are only rendered in // context of the host entity. [ 'backend' => 'cache.backend.null', 'includes' => [ 'entity_view:paragraph:*' ], 'excludes' => [], ], // Falls back to database backend. [ 'backend' => 'cache.backend.database', ], ], ]; ?>