2011-01-19 89 views
1

使用devel模塊,我可以看到很多對cache_get()和cache_set()的調用。需要刷新多長時間的緩存值?緩存每隔幾分鐘就會失效嗎?Drupal緩存持續多久?

回答

1

使用cache_set的模塊會在呼叫中設置到期日期。有些東西具有明確的持續時間,其他的則根據情況具有永久或半永久的壽命。

當您通過管理界面(或drush)調用方法時,或通過使用drupal_flush_all_cachescache_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,因此它可以通過輸入來改變輸入。

+1

有沒有辦法看到哪些模塊緩存和多久? – 2011-01-21 14:53:35