web-dev-qa-db-fra.com

Mise en cache Wordpress à la demande

Je souhaite mettre en cache, à la demande, des calculs coûteux et les stocker dans un fichier brut que je pourrai récupérer ultérieurement.

Existe-t-il une fonction intégrée dans WordPress Core Utilities qui peut gérer l’ajout, la récupération, la suppression du cache?

Quelque chose qui ressemble à l'extrait suivant:

if ($foo_string = $storage->fetch('foo')) {
    $foo = unserialize($fooString);
} else {
    // Do the work to calculate $foo.
    $storage->save('foo', serialize($foo));
}
1
AFA Med

Il n'y a pas de mécanisme explicite pour la mise en cache sur disque. Si vous écrivez un plugin ou un thème que vous avez l'intention de distribuer, vous devez être prudent dans l'allocation d'un dossier. Il est probablement préférable de prévoir une option permettant à un utilisateur de configurer cet emplacement. S'il s'agit d'un site spécifique, au moins, cela ne devrait pas poser de problème, mais vous devriez probablement utiliser un répertoire qui n'est pas Web Public.

Bien sûr, vous devriez envisager de créer une telle chose. À moins que vous n'ayez besoin de stocker une quantité énorme de données par "élément" dans le cache, vous obtiendrez probablement de bons résultats avec un plugin de cache d'objets. Vous pouvez stocker des données directement avec l’API de mise en cache wordpress (wp_cache_get et fonctions de famille) ou indirectement avec des éléments transitoires, avec le gros avantage de ne pas avoir à concevoir vous-même quelque chose de nouveau;)

1
Mark Kaplun