2017-04-22 10 views
0

トランジェントを期限切れにする更新クエリを書きたいと思います。私はワードプレスオプションテーブルで1に時間を過ごすでしょう。ワードプレストランジェントの期限を切る方法

トランジェントは、re_compareという名前で始まり、パラメータが変更された後に残ります。更新のための

私のクエリは

$wpdb->update( 
    'options', 
    array( 
     'option_value' => '1', // string 

    ), 
    array('option_name' => '%re_compare%') 

); 

その作業はありません。基本的には、既存のトランジェントを削除/期限切れにしたいと思います。

しかし、オプションテーブルからトランジェントを削除しても、一時マネージャプラグインに表示されます。それで、有効期限を1秒に設定することを考えました。

答えて

3

オプションテーブルからプレーンSQL経由でトランジェントを削除または変更することはお勧めしません。どうして?データベースは実際には、一時的なフォールバックの場所であり、プライマリのフォールバックの場所ではないためです。使用可能なオブジェクト・キャッシュがある場合、トランジェントはデータベースには格納されず、そこに格納されます。あなたのケースでは、オプションテーブルからそれらを削除している可能性がありますが、実際にはオブジェクトキャッシュから読み込まれます。

通常、トランジェントの期限切れについて心配する必要はありません。 WordPressには自動的にパージするガベージコレクタがあります。トランジェント内のデータが古くなったとあなたは以前それが期限切れになるよりも、それを更新する必要がある場合は

は、このためのAPI関数を使用します。

delete_transient('your_transient_name'); 

も有効期限が最大であることに注意してください一過性が生きることができる期間。その期間が過ぎると、保存された値は返されません。しかし、要するに、

だから、キャッシュ立ち退き、データベースのアップグレードなどをobjectに起因する、有効期限の前に長く使用できない場合があります。

  • 有効期限は、今後の最大のポイントであるときの過渡コールは有効期限が来る前に、それは過渡状態で作業するためのその他の理由に、長い親指の

ルールを失われることがあり

  • 値を返す停止します、次のとおりです。

    1. はデータがあなたの側で変更(と、最も可能性が高い場合にはAPI関数でそれを削除します
    2. もうあなたは絶対にそれを有効にしたくないときにAPI機能を
    3. セットの有効期限を、あなたのトランジェントを設定し、有効期限が来るまでそれが自然
    4. ガベージコレクションWPによる後
    5. になります有効期限が切れるのを待つ)、再び
    6. それともを再生成すると、彼らは常に、あなたに利用可能であることを期待してはいけません。彼らは永続することは保証されていません。
  • 関連する問題