使用开发模块,我可以看到很多对 cache_get() 和 cache_set() 的调用。缓存值多久需要刷新?缓存每隔几分钟就会失效一次吗?
问问题
524 次
1 回答
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
,因此它可以通过条目来改变条目。
于 2011-01-19T14:19:27.817 回答