ホームページ  >  記事  >  CMS チュートリアル  >  WordPress Object Cache の詳細な紹介と使用法

WordPress Object Cache の詳細な紹介と使用法

藏色散人
藏色散人転載
2019-09-30 11:36:565238ブラウズ

Memcached メモリ キャッシュは WordPress の多くの機能を最適化し、WordPress を高速化できます。次のコラム WordPress チュートリアル では、Memcached を使用して WordPress を徹底的に最適化する方法を紹介します。

WordPress Object Cache の詳細な紹介と使用法

#WordPress の最適化を深く理解するには、まず WordPress のオブジェクト キャッシュ メカニズムを理解する必要があります。

WordPress オブジェクト キャッシュ メカニズムとサーバー設定

WordPress オブジェクト キャッシュ (WordPress オブジェクト キャッシュ) は WordPress のキャッシュ メカニズムであり、その主な機能はクエリまたは操作を処理することです。 (WordPress は、グループによる分割とキャッシュされたコンテンツの競合の回避もサポートしています) 次回同じ操作を実行するとき、データはデータベースに複製せずに、このオブジェクトから直接取得できます。またはその他の外部 Web サイトからデータを取得します。

WordPress オブジェクト キャッシュはサーバー設定と密接に関連しています。システムで Memcached メモリ キャッシュが有効になっている場合、オブジェクトはメモリに直接保存されます。データの有効期限が切れる前に、データはメモリから直接読み取られます。非常に効率的かつ高速です。

サーバーがメモリ キャッシュをサポートしていない場合、現在のページ上の同じクエリまたは操作がデータベースから繰り返し読み取られないようにすることしかできません。

WordPress オブジェクト キャッシュ機能

WordPress オブジェクト キャッシュ テクノロジの使用は実際には非常に簡単です。

wp_cache_add() を使用してデータをキャッシュに追加します。

wp_cache_set() を使用してデータをキャッシュに設定します。

wp_cache_get() を使用してキャッシュからデータを読み取ります。

wp_cache_delete() を使用してキャッシュ内のデータを削除します。

これらの関数には 4 つのパラメータが含まれます:

パラメータ

$key オブジェクトのキー。

$data 保存される値。

$group Grouping、オプションのパラメータ。キャッシュ オブジェクトをグループ化するために使用されます。

$expire 有効期限、オプションのパラメータ。デフォルトのキャッシュの場合、このパラメータは役に立ちません。メモリ キャッシュの場合、キャッシュを設定する時間です。単位は秒です。デフォルトは次のとおりです。 0 (0 は永久を意味します。自動的に期限切れになりません)。

WordPress オブジェクト キャッシュの使用

以下では、これから更新する WordPress 関連記事プラグインを例として、WordPress オブジェクト キャッシュの使用方法について説明します。 :

WordPress 関連記事プラグインは、タグとカテゴリを通じて関連記事を取得します。同じタグとカテゴリが多いほど、相関関係が強くなります。これには、関連記事を取得するために複数のテーブルの結合クエリが必要です。これは実際には比較的非効率的です。ただし、記事の関連記事は一定期間変更されないため、WordPress オブジェクト キャッシュを使用して関連記事を高速化できます。

以下は、現在の post_id をキー、relative_posts をグループとして、キャッシュ時間は 1 時間、つまり 3600 秒として、関連記事のデータをキャッシュに書き込む例です。

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

上記はキャッシュ オブジェクトにデータを格納するだけです。関連記事を表示するときは、このオブジェクト キャッシュを呼び出して使用する必要があります。まず、キャッシュがすでに存在するかどうかを確認します。必要な情報があれば、キャッシュで利用できないか、有効期限が切れています。 wp_cache_get() は false を返します。その場合は、データベースにアクセスしてこの情報を取得する必要があります。それ以外の場合は、キャッシュ内の情報が返されます。

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;

関連記事のデータは 1 時間後に無効になるため、通常はここでキャッシュを更新する必要はありません。バックグラウンドで設定を変更し、すぐにキャッシュをクリアする必要がある場合は、次の方法を使用できます。 wp_cache_delete でクリーンアップします:

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

WPJAM Basic プラグインには Memcached が統合されています。WPJAM Basic をダウンロードした後、wpjam-basic/template/ ディレクトリにある object-cache.php ファイルを wp-content ディレクトリにコピーします。 。

以上がWordPress Object Cache の詳細な紹介と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はwpjam.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。