Navigation

get_transient() / set_transient() を使ったキャッシュ実装の例

📅 7月 7, 2025
👤
1 min read

概要

この記事では、WordPressの`get_transient()`と`set_transient()`関数を使ったキャッシュ実装の例について紹介します。これらの関数を使用することで、データベースクエリや計算量の高い処理結果を一時的に保存し、ページの読み込み速度を向上させることができます。

サンプルコード


// キャッシュデータの取得
$cache_data = get_transient( 'my_cached_data' );

// キャッシュが存在しない場合
if ( false === $cache_data ) {
    // キャッシュデータの計算または取得処理
    $data = expensive_calculation_or_query();

    // キャッシュデータのセット(60秒間有効)
    set_transient( 'my_cached_data', $data, 60 );
    
    $cache_data = $data;
}

// キャッシュデータの使用
echo $cache_data;

解説

  • `get_transient('my_cached_data')`:指定したキー(ここでは'my_cached_data')で保存されたキャッシュデータを取得します。
  • `set_transient('my_cached_data', $data, 60)`:指定したキーでデータをキャッシュし、有効期限を設定します(ここでは60秒)。
  • キャッシュが存在しない場合、計算コストの高い処理(`expensive_calculation_or_query()`)を実行し、その結果をキャッシュに保存します。
  • キャッシュが存在する場合、再計算をせずに保存されたデータを使用します。

ベストプラクティス

  • キャッシュの有効期限は適切に設定することが重要です。短すぎると再計算のオーバーヘッドが増え、長すぎると古いデータが表示される可能性があります。
  • キャッシュに保存するデータはシリアライズされている必要があります。オブジェクトや配列などの複雑なデータ構造を保存する場合は、`serialize()`と`unserialize()`関数を使ってデータを変換して保存しましょう。

これらのベストプラクティスに従い、`get_transient()`と`set_transient()`を適切に活用することで、WordPressサイトのパフォーマンスを向上させることができます。

← Back to WordPress