怎么通过代码清除 Drupal 的缓存?
发布于
正在开发一个模块,需要通过代码实现清除缓存的功能,请问怎样可以做到?
1 个回答
清除所有缓存可以使用以下代码
// Drupal 7
cache_clear_all();
// Drupal 8
drupal_flush_all_caches();
D8 清除指定类型缓存可以使用以下代码
// 清除所有 render 缓存。
\Drupal::service('cache.render')->invalidateAll();
// 其他有 invalidatedAll() 的 Cache 服务有:
cache.bootstrap
cache.config
cache.data
cache.default
cache.discovery
cache.entity
cache.menu
cache.render
cache.static
D8 清除指定 render 缓存可以使用以下代码
// 基于 $cid 清除指定 render 缓存。
\Drupal::service('cache.render')->invalidate($cid);
// 基于 Cache tags 清除指定 render 缓存。
Cache::invalidateTags($tags);