怎么通过代码清除 Drupal 的缓存?

正在开发一个模块,需要通过代码实现清除缓存的功能,请问怎样可以做到?

1
0

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);
1
0
登录注册后添加答案