Home  >  Article  >  CMS Tutorial  >  Detailed introduction and use of WordPress Object Cache

Detailed introduction and use of WordPress Object Cache

藏色散人
藏色散人forward
2019-09-30 11:36:565238browse

Memcached memory caching can optimize many functions of WordPress and make your WordPress faster. The following column WordPress Tutorial will introduce how to use Memcached to deeply optimize WordPress.

Detailed introduction and use of WordPress Object Cache

#To deeply understand WordPress optimization, you must first understand the WordPress object caching mechanism.

WordPress Object Cache Mechanism and Server Settings

WordPress Object Cache (WordPress Object Cache) is WordPress’s caching mechanism. Its main function is to process queries or operations. The results are stored in the object in a Key-Value manner (WordPress also supports dividing by Group and avoiding cached content conflicts). The next time the same operation is performed, the data can be retrieved directly from this object without duplicating it to the database. or other external websites to obtain data.

WordPress Object Cache is closely related to server settings. If the system has Memcached memory cache enabled, the object is directly stored in the memory. Before the data expires, the data will be read directly from Reading from memory is very efficient and fast.

If the server does not support memory caching, it can only ensure that the same query or operation on the current page will no longer be read from the database repeatedly.

WordPress object caching function

Using WordPress object caching technology is actually very simple:

Use wp_cache_add() to add data to the cache .

Use wp_cache_set() to set data into the cache.

Use wp_cache_get() to read data from the cache.

Use wp_cache_delete() to delete data in the cache.

These functions will involve four parameters:

Parameters

$key The key of the object.

$data The value to be stored.

$group Grouping, optional parameter, used to group cache objects.

$expire Expiration time, optional parameter. If it is a default cache, this parameter is useless. If it is a memory cache, it is the time to set the cache. The unit is seconds. The default is 0 (0 means forever. will not automatically expire).

Using WordPress Object Cache

The following takes the WordPress related article plug-in that I am about to update as an example to talk about how to use WordPress Object Cache:

We know The WordPress related article plug-in obtains related articles through tags and categories. The more the same tags and categories, the stronger the correlation. This requires a joint query of multiple tables to obtain related articles, which is actually relatively inefficient. However, the related articles of an article will not change for a period of time, so we can use WordPress object cache to accelerate related articles.

The following is an example of writing the data of related articles to the cache, using the current post_id as the key, related_posts as the group, and the cache time is one hour, that is, 3600 seconds.

global $post;
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);

The above just stores the data in the cache object. When we display related articles, we need to call this object cache to use it. First check whether there is already a cache. If the information you want is not available in cache, or has expired. wp_cache_get() will return false, if so, you have to go to the database to retrieve this information. Otherwise, the information in the cache is returned.

global $post;
$related_posts_data = wp_cache_get($post->ID,'related_posts');
if(false === $related_posts_data){
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);
}
echo $related_posts_data;

Because the data of related articles will be invalid after one hour, there is generally no need to update the cache here. If you change the settings in the background and need to clear the cache immediately, you can use wp_cache_delete to clean it:

wp_cacache_delete($post->ID,'related_posts');

The WPJAM Basic plug-in has integrated Memcached. After downloading WPJAM Basic, copy the object-cache.php file in the wpjam-basic/template/ directory to the wp-content directory.

The above is the detailed content of Detailed introduction and use of WordPress Object Cache. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:wpjam.com. If there is any infringement, please contact admin@php.cn delete