Question

Utilisation du module de devel je peux voir beaucoup d'appels à cache_get () et cache_set (). Après combien de temps un besoin de valeur mise en cache à rafraîchir? Est-ce que le cache s'invalidées toutes les quelques minutes?

Était-ce utile?

La solution

Le module qui utilise cache_set définit l'expiration de l'appel. Certaines choses ont des durées explicites, d'autres ont des durées de vie permanents ou semi-permanents, en fonction de la situation.

Caches se sont explicitement supprimées lorsque vous invoquez la méthode à travers l'interface d'administration (ou drush), ou autrement par l'utilisation de drupal_flush_all_caches ou cache_clear_all .

Ces derniers temps, j'ai utilisé un hook_cron pour effacer certaines tables de cache chaque nuit.

EDIT pour répondre commentaire:

Pour voir quel cache, je l'habitude de mettre cela dans un endroit séparé de script:

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'));

Pour voir expirations, examiner les différentes tables de la base de données dans cache et regardez la colonne de expire. Les modules peuvent mettre expirations sur chaque appel à cache_set, il peut donc varier l'entrée par entrée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top