Domanda

Uso della devel modulo riesco a vedere un sacco di chiamate a cache_get () e cache_set (). Dopo quanto tempo un valore memorizzato nella cache necessità di essere aggiornati? Ha la cache ottenere invalidata ogni pochi minuti?

È stato utile?

Soluzione

Il modulo che utilizza cache_set imposta la scadenza nella chiamata. Alcune cose hanno una durata espliciti, altri hanno tempi di vita permanenti o semi-permanenti, in base alla situazione.

Le cache vengono esplicitamente cancellati quando si richiama il metodo attraverso l'interfaccia di amministrazione (o Drush), o in altro modo attraverso l'uso di drupal_flush_all_caches o cache_clear_all .

Ultimamente, ho utilizzato un hook_cron per cancellare alcune tabelle della cache ogni notte.

Modifica per rispondi Commento:

Per vedere quali cache, Io di solito mettere questo in un qualche script separato:

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

Per vedere scadenze, esaminare le varie tabelle cache nel database e osservare la colonna expire. I moduli possono impostare scadenze su ogni singola chiamata a cache_set, in modo che possa variare registrazione per registrazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top