Heim > Artikel > CMS-Tutorial > Verwenden Sie Speicher-Caching, um die Effizienz der WordPress-Artikel-Browsing-Statistiken zu optimieren
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 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);
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!