使用devel模块我可以看到很多对cache_get()和cache_set()的调用。在需要刷新缓存值多长时间后?缓存是否每隔几分钟就会失效?
答案 0 :(得分:1)
使用cache_set的模块设置呼叫的到期时间。根据具体情况,有些事情有明确的持续时间,有些则有永久或半永久的生命周期。
当您通过管理界面(或drush)调用方法时,或通过使用drupal_flush_all_caches或cache_clear_all显式清除缓存。
最近,我每晚都使用hook_cron来清除某些缓存表。
编辑回答评论:
要查看哪个缓存,我通常将其放在一个单独的脚本中:
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
header("Content-Type: text/plain; encoding=utf-8");
$user = user_load(1);
print "Modules implementing hook_cron:\n" . implode("\n", module_implements('cron'));
要查看过期,请检查数据库中的各种cache
表并查看expire
列。模块可以设置每次调用cache_set
的到期时间,因此它可以通过输入改变输入。