CROR

WordPressの処理毎にキャッシュして軽量化

W3 Total CacheやQuick Cacheといった、
サイトをまるごとキャッシュ化してくれるプラグインはあるのですが、
基幹システム等、キャッシュできない処理があった場合には、
ページ全体ではなく個別にキャッシュしたい時があります。

Transients API

データの取得(保存名)
get_site_transient(‘post_list_data’)

データの保存(保存名, 実行データ, キャッシュタイム)
set_site_transient(‘post_list_data’, $$post_data, 3600 * 24 );

データの破棄(保存名)
delete_site_transient(‘post_list_data’);

Transients APIでは、wp_options テーブルにデータを保存しておくので、
アクセス超過で、根本的にトラフィック不足で、DBへの接続がままならない場合は、
オブジェクトキャッシュを使うなどその他の対策も必要になってきます。

キャッシュクリア方法

上記の内容だけでは、キャッシュタイムが切れるまで、表示部分が変わることはありません。
記事を更新したり、削除した際にも変わらないので、更新した際に保存データを破棄する必要があります。

データの破棄する下記コードをfunctions.phpに入れてください。

実行タイミングのアクション時のフック一覧は、こちらを参照ください。

コメントを残す

Return Top