web-dev-qa-db-fra.com

API transitoires et multisite

nous utilisons le plugin Atlas HTML sitemap, qui met en cache le sitemap à l'aide de l'API transitoires avec un appel du type:

set_transient( 'dmac_html_sitemap', $output, 60*60*24*7 );

Maintenant, nous avons également une configuration multi-site et je me demandais où les transitoires sont stockés et si WP multisite les garde séparés. Il conserve les options séparées car chaque site (blog) a son propre préfixe de table de base de données (wp_29_options par exemple).

J'ai lu quelque part que les transitoires pourraient être stockés avec memcached - je suppose donc que le stockage back-end est enfichable.

La raison de la question est que nous avons un code personnalisé qui duplique les sites. Si le transitoire se trouve quelque part dans la base de données, il sera copié et je souhaite donc supprimer le cache du site récemment dupliqué (une partie du processus de copie génère également des pages spécifiques à un site).

Si je viens d'appeler:

delete_transient( 'dmac_html_sitemap' ); 

depuis la page réseau de notre plugin, quel site transitoire va-t-il supprimer? tout? aucun? seulement le site principal?

Comme le souligne Rarst ci-dessous, lorsqu'un plug-in de cache persistant externe n'est pas utilisé, les transitoires sont simplement stockés sous forme d'options (précédées du préfixe transitoire ) . Donc, dans ce cas, ils seront spécifiques à un site (car il existe une table d'options pour chaque site/blog). Par conséquent, la question est la suivante: wp_cache_set () et ses amis conservent-ils les éléments de cache séparés par site à l'aide de blog_id ou d'un élément de la clé de cache ou non? (par exemple, s'il est stocké dans memcached ou APC par exemple)

1
DavidJ

Le comportement par défaut de l'API transitoire consiste à utiliser l'API Options pour le stockage et le comportement identique aux options.

Cependant, s’il existe un cache d’objets externe (déclaré par le plug-in ou quoi que ce soit d'autre), ils sont alors stockés à l'aide de fonctions de cache d'objets .

Donc, fondamentalement, cela fonctionnera dans la portée du site actuel, sauf s’il existe des plugins qui le font fonctionner autrement.

2
Rarst