【WordPress】Transient

WordPressのパフォーマンスチューニングの一つにTransientという機構があります。

そのことについて、忘備録として記載します。

Transient

Transient とは、

ページ内の一部分のHTML、もしくはそのHTMLを形成するデータのみを再利用する部分的なキャッシュ機構のことを指します。

ページキャッシュは、最終的に表示されるHTML全体を再利用する

 

このため、ログインの有無などによる影響を受けず、汎用的に用いることが可能となります。ただし、適用箇所の更新頻度を鑑みて適切なキャッシュの有効時間を設定する必要があるものです。


この特徴から、簡単に導入が可能なパフォーマンス改善方法ではありますが、
これはボトルネックの発生頻度を下げているだけであるため、他のクリティカルなボトルネックそもそもを解消する必要があることは理解しておくべきです。
 
 

WordPress Transients API と呼ばれることがあり、この API はキャッシュされるデータを一時的にデータベースへ保存するためのシンプルで標準化された方法を提供します。この方法ではデータに名前と有効期限を設定し、期限が来るとデータが削除されます。有効期限という機能を使うことで、キャッシュされるデータを一時的に wp_options テーブルへ保存するという処理をシンプルに実現します。


Transientは、キャッシュ機構であるため、処理上以下のプロセスが必要となる 
1. 有効なキャッシュデータ取得と有無のチェック 
2. キャッシュデータがない場合のデータ生成とデータのストア 

 

Transientについては、Codexのこちらも要参照

Codexには例えばTransientを保存する場合として、以下の例がありました。

Transient を保存するには set_transient() を使います:

set_transient( $transient, $value, $expiration );

例えば $special_query_results オブジェクトを 12 時間保存しておくには次のようにします:

set_transient( 'special_query_results', $special_query_results, 60*60*12 );

Leave a Reply

Your email address will not be published. Required fields are marked *