web-dev-qa-db-fra.com

L'API HTTP de WordPress utilise-t-il une mise en cache?

Je travaille sur un plugin pour récupérer les données d'un serveur distant et les afficher sur le tableau de bord. Pour ce faire, je vais utiliser l'API HTTP WordPress , mais je ne vois aucune information sur l'API HTTP utilisant une forme de mise en cache. Comme je ne veux pas que mon plugin pose des problèmes aux administrateurs du serveur distant, je me demandais si je manquais de la documentation sur la mise en cache de l'API HTTP ou si je devais aussi utiliser le API transitoires pour implémenter la mise en cache de mon plugin?

1
Manzabar

Ce ne est pas. Certaines fonctionnalités utilisent activement l'API HTTP et sont mises en cache - récupération de flux, vérification des mises à jour. Mais la mise en cache est toujours implémentée au niveau du wrapper.

Faire une requête HTTP sans contexte est trop peu spécifique pour laisser deviner de manière éclairée les besoins en cache (une minute ou une heure).

3
Rarst

Pour ce que je sais, l'API transitoire devrait faire l'affaire.

1
Stefano

Puisque je veux examiner facilement les déclarations http avec les fichiers journaux, je les enregistre dans une base de données de demandes. pendant le développement pratique puisque j'ai une deuxième base de données qui stocke les métadonnées du cache physique. alors quand je supprime celui-ci (encore et encore). Je peux continuer à faire des demandes à partir de la base de données de demandes et je ne dérangerai pas les serveurs externes encore et encore. Cela me permet également de poser des questions spécifiques à ce sujet.

http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/plugins/cache/request_cache.php appelé depuis http://plugins.trac.wordpress.org/browser/wp-favicons/trunk/includes/class-http.php

Il contient quelques milliers de demandes que je trouve plus faciles à faire défiler dans sa propre base de données. Mais dans mon cas, mes données (favicons) sont plutôt statiques, par exemple. Les flux RSS où ce serait un nogo.

1
edelwater