Heim > CMS-Tutorial > WordDrücken Sie > Verwenden Sie Speicher-Caching, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren

Verwenden Sie Speicher-Caching, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren

藏色散人
Freigeben: 2019-09-24 10:05:30
nach vorne
2782 Leute haben es durchsucht

Memcached-Speichercache kann viele Funktionen von WordPress optimieren und Ihr WordPress schneller machen. In der folgenden Spalte des WordPress-Tutorials erfahren Sie, wie Sie Memcached zur umfassenden Optimierung von WordPress verwenden.

Verwenden Sie Speicher-Caching, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren

Verwenden Sie den Speichercache, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren.

WordPress-Standardmethode für das Zwischenspeichern benutzerdefinierter Felder

Plug-ins für allgemeine Artikel-Browsing-Statistiken verwenden benutzerdefinierte Felder zum Speichern von Daten, wenn der Server mit Memcached-Speicher aktiviert ist Cache, wie werden die Daten benutzerdefinierter Felder zwischengespeichert? WordPress verwendet $post_id als Cache_key und „post_meta“ als Cache_group als Ganzes für das Caching.

Das Aktualisieren eines benutzerdefinierten Felds ist also gleichbedeutend mit dem Aktualisieren des Caches aller benutzerdefinierten Felder unter der $post_id zusammen, und jedes Mal, wenn der Artikel angezeigt wird, werden die Daten des benutzerdefinierten Felds um 1 erhöht, sodass jedes Mal, wenn die Der Cache der benutzerdefinierten Felder wird aktualisiert, was zu drei weiteren SQL-Abfragen für jede Seite führt.

Verwenden Sie den Speichercache, um die statistische Effizienz beim Durchsuchen von Artikeln zu optimieren

Gibt es eine Möglichkeit, dieses Problem zu lösen? Wir können die Browsing-Statistiken des Artikels zunächst im Speicher zwischenspeichern und sie dann nach dem Hinzufügen von jeweils 10 Ansichten in die Datenbank schreiben. Dadurch kann die Anzahl der SQL-Abfragen, die durch Änderungen in benutzerdefinierten Feldern in WordPress-Vorgängen verursacht werden, erheblich reduziert werden.

Kopieren Sie den obigen Code in die Datei „functions.php“ des aktuellen Themes:

// 更新文章浏览数的时候,首先更新到内存中,然后每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);
Nach dem Login kopieren

Es kann auch ein kleines Problem geben: Da der Cache von Memcached nicht persistent ist, wenn Sie ihn versehentlich zwischenspeichern Speicher Wenn gelöscht, geht ein Teil der Anzahl der Artikelansichten verloren, aber es werden definitiv weniger als 10 sein.

Das WPJAM Basic-Plugin hat Memcached integriert. Kopieren Sie nach dem Herunterladen von WPJAM Basic die Datei object-cache.php im Verzeichnis wpjam-basic/template/ in das Verzeichnis wp-content.

Das obige ist der detaillierte Inhalt vonVerwenden Sie Speicher-Caching, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:wpjam.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage