缓存系统
官方有着关于 缓存系统
完善的文档,
Cache API 指南文档
以及
代码文档。
基本概念
缓存是用于保存那些需要花费大量性能开销的计算结果,以避免重复计算,从而提高系统运行效率。
下面是使用缓存的一个简单的过程,在计算一个结果之前,先从缓存中查找结果, 如果缓存命中则直接使用缓存中的数据,否则执行计算,并把计算结果放入缓存,以便之后重用:
$cid = 'mymodule_example:' . \Drupal::languageManager()
->getCurrentLanguage()
->getId();
$data = NULL;
if ($cache = \Drupal::cache()
->get($cid)) {
$data = $cache->data;
}
else {
$data = my_module_complicated_calculation();
\Drupal::cache()
->set($cid, $data);
}
缓存分类
在 Drupal 中,缓存可以被分为多个类别,这些分类被称为 bins
。
系统已定义的分类有:
-
bootstrap
应用程序的整个生命周期都需要的数据,而且很少会变化或失效。 -
render
用于缓存页面渲染数据,这种缓存的数据量很大。 -
data
-
discovery
登录后查看完整内容