Maison > Tutoriel CMS > WordPresse > le corps du texte

Utilisez la mise en cache mémoire pour optimiser l'efficacité des statistiques de navigation des articles WordPress

藏色散人
Libérer: 2019-09-24 10:05:30
avant
2768 Les gens l'ont consulté

La mise en cache de la mémoire Memcached peut optimiser de nombreuses fonctions de WordPress et rendre votre WordPress plus rapide. La colonne suivante du Tutoriel WordPress présentera comment utiliser Memcached pour optimiser en profondeur WordPress.

Utilisez la mise en cache mémoire pour optimiser l'efficacité des statistiques de navigation des articles WordPress

Utilisez le cache mémoire pour optimiser l'efficacité des statistiques de navigation des articles WordPress.

Méthode de mise en cache des champs personnalisés par défaut de WordPress

Les plug-ins de statistiques de navigation d'articles généraux utilisent des champs personnalisés pour stocker des données si le serveur est activé avec la mémoire Memcached. cache, comment les données des champs personnalisés sont-elles mises en cache ? WordPress utilisera $post_id comme cache_key et 'post_meta' comme cache_group pour la mise en cache dans son ensemble.

Donc, mettre à jour un champ personnalisé équivaut à mettre à jour le cache de tous les champs personnalisés sous $post_id ensemble, et chaque fois que l'article est consulté, les données du champ personnalisé seront incrémentées de 1, de sorte qu'à chaque fois le cache des champs personnalisés sera mis à jour, ce qui entraînera trois requêtes SQL supplémentaires pour chaque page.

Utiliser le cache mémoire pour optimiser l'efficacité statistique de la navigation dans les articles

Existe-t-il un moyen de résoudre ce problème ? Nous pouvons d'abord mettre en cache les statistiques de navigation de l'article dans la mémoire, puis les écrire dans la base de données après avoir ajouté 10 vues à chaque fois. Cela peut réduire considérablement le nombre de requêtes SQL provoquées par les modifications des champs personnalisés dans les opérations WordPress.

Copiez le code ci-dessus dans le fichier function.php du thème actuel :

// 更新文章浏览数的时候,首先更新到内存中,然后每10次,才写到数据库中
add_filter('update_post_metadata', function($check, $post_id, $meta_key, $meta_value){
if($meta_key == 'views'){
if($meta_value % 10 != 0){
$check= true;
wp_cache_set($post_id, $meta_value, 'views');
}else{
wp_cache_delete($post_id, 'views');
}
}
return $check;
}, 1, 4);
// 获取文章浏览数的时候,首先从内存中获取,没有才从数据库中获取
add_filter('get_post_metadata', function($pre, $post_id, $meta_key){
if($meta_key == 'views'){
$views= wp_cache_get($post_id, 'views');
if($views !== false){
return [$views];
}
}
return $pre;
}, 1, 3);
Copier après la connexion

Il peut aussi y avoir un petit problème : Comme le cache de Memcached n'est pas persistant, si vous cachez accidentellement le mémoire Si cette option est décochée, une partie du nombre de vues d'articles sera perdue, mais elle sera certainement inférieure à 10.

Le plug-in WPJAM Basic a intégré Memcached Après avoir téléchargé WPJAM Basic, copiez le fichier object-cache.php du répertoire wpjam-basic/template/ vers le répertoire wp-content.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:wpjam.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal