web-dev-qa-db-fra.com

Où un plugin ou un widget doit-il mettre en cache ses résultats?

Où un plugin doit-il mettre en cache ses résultats réutilisables?

J'ai lu le code de plusieurs plugins Wordpress bien utilisés et il semble que la réponse ne soit pas cohérente. J'ai moi-même écrit plusieurs plugins et je stocke des choses dans un répertoire de cache. Mais je viens de choisir l'emplacement du répertoire parmi un chapeau, et mon code crée le répertoire de cache s'il n'existe pas. Cela semble arbitraire.

Je sais qu'il existe des plugins qui font la mise en cache. Supposons que je ne veuille pas utiliser de plugin. Je trouve que le fait de compter sur le système de fichiers pour mettre en cache les résultats facilite la maintenance, les diagnostics et les performances.

Existe-t-il une bonne approche, plus ou moins standard, ou une approche bénie, pour choisir un emplacement de système de fichiers pour un cache?

1
Cheeso

Je trouve que le fait de compter sur le système de fichiers pour mettre en cache les résultats facilite la maintenance, les diagnostics et les performances.

Veuillez noter que cela pourrait être vrai dans certaines circonstances (peut-être même dans la plupart des cas), mais pas tous . Si votre code est destiné à un usage autre que personnel, vous ne savez pas avec quel système de fichiers et quel matériel le système sera utilisé et comment y fonctionnera-t-il.

WP est conçu pour utiliser une base de données pour le stockage de données textuelles, ce qui constitue un premier choix plus logique et logique que le système de fichiers.

Existe-t-il une bonne approche, plus ou moins standard, ou une approche bénie, pour choisir un emplacement de système de fichiers pour un cache?

Le dossier wp-content sert d’emplacement pour les fichiers téléchargés ou générés pendant le fonctionnement. Les plugins qui utilisent le cache de fichiers devraient créer un dossier pour cela. Notez que WP est flexible sur la plupart des structures de dossiers et qu'il peut être facilement renommé/déplacé à partir des valeurs par défaut. Utilisez les fonctions appropriées pour déterminer ce chemin plutôt que le code par défaut.

3
Rarst