タグ付けされた質問 「transient」

3
一時的なゴミは収集されますか?
この質問により、wp_optionsの一時的なRSSフィードは自動的に削除されないと考えました。 一時的なものは期限が切れて削除されることになっています。ただし、これが処理されるのを確認する唯一の方法は、transientの有効期限が切れてリクエストされ、その後リクエスト中に削除される場合です。 トランジェントが期限切れになったがその後リクエストされなかった場合はどうなりますか?Codexの説明から、ある種のガベージコレクションが暗示されていると思いました。今、私は確信が持てず、そのようなコードを見つけることができません。 それで、それはデータベースに永久に残るでしょうか?

4
オブジェクトキャッシュはどのように機能しますか?
ここで決定的な答えを探しています。オブジェクトのキャッシュが有効になっている場合、オプションとトランジェントはどこに住んでいますか? デフォルトでは、両方がデータベースに保存されます。しかし、memcacheが他の場所にそれらを保存し、APCがまったく別のことを行うという参照を聞いたことがあります。正確に、どちらの場合でもこのデータはどこに保持されますか?

3
Transient APIを使用してHTML文字列またはオブジェクトを保存する必要がありますか?
非常に複雑なクエリで20の関連投稿(各投稿)を表示するプラグインがあると仮定しましょう。そして、このクエリのデータを使用して、複雑なHTMLレイアウトを構築します。また、プラグインはパブリックであり、任意の構成の任意のサーバーにインストールできることに注意してください。 何かのようなもの: /* complex and large query */ $related_posts = get_posts( ... ); $html_output = ''; foreach($related_posts as $key => $item) { /* complex layout rendering logic (but not as slow as the previous query) */ $html_output .= ...; } だから私の質問は: そのようなデータをキャッシュする最も安全で最も正しい方法は何ですか? Transient APIを使用して$related_posts配列または$html_output文字列をキャッシュする必要がありますか?$html_ouput文字列をキャッシュする場合、最大サイズの制限に達しますか?保存する前に、gzipする必要がありますか? ここでTransient APIを使用する必要がありますか?
18 cache  transient 

5
Transients APIはいつ使用する必要がありますか?
私はこれまでにTransients APIを使用したことがなく、いつ使用するかについてのガイダンスがあるかどうか疑問に思っていました。コーデックスの記事は、テーマの開発者として、私はそれぞれの新しいを設定したい場合がありますことを意味WP_Query()一時的なものとして、直接$ wpdbクエリとについても同じことが言えると思いquery_posts()ます。それはやり過ぎですか?および/またはデフォルトで使用する他の場所はありますか? 私は自分のサイトでキャッシュプラグインをよく使用します(通常はW3 Total Cache).Transientsを使用するとプラグインの効果が上がるかもしれませんが、それがベストプラクティスではない場合、一時的にすべてをラップするのは面倒です。
15 transient 

6
wp_optionsテーブルの一時的なレコードをすべて削除すると、サイトが壊れますか?
現在、私のサイトのwp_optionsテーブルには、500k以上のとんでもない一時的なレコードがあります。これにより、テーブルが頻繁にクラッシュし、私のサイトもクラッシュします。 一時的なレコードはすべてしばらくすると期限切れになると思いました。どのプラグインが原因で何が問題なのかはまだわかりません。ただし、このようにサイトが頻繁にクラッシュすることは望ましくありません。wp_optionsテーブル内のレコード数は、数週間前に大幅に20万以上に増え、現在は50万以上になっています。 %transient_timeout%レコードのみを削除する必要があります-現在のところ200,000以上ありますか? どんな助けでも大歓迎です。 2012年7月16日の更新 私は実際に一時的なレコードをすべて削除することでリスクを冒しました(最初に自分のサイトをバックアップしました)。それ以来、サイトのデータベースはクラッシュしていません:) 皆さま、ありがとうございました!

1
一度に1つのwp_cron()のみが実行されるようにする方法は?
wp_cron()次のコードのような関数が約20個あります。ほとんどすべてのcronは1時間ごとに実行されます。いくつかは毎日です。 if ( ! wp_next_scheduled( 'my_task_hook' ) ) { wp_schedule_event( time(), 'hourly', 'my_task_hook' ); } add_action( 'my_task_hook', 'my_task_function' ); function my_task_function() { //Complex Code } サーバーのパフォーマンスを向上させ、ホスティング会社からサーバー制限メッセージを取得し続けないように、特定の時間に実行されるcronが1つだけであることを確認したいのですが...可能ですか? 現在受け入れられている答えは素晴らしいですが、私は次の質問を持っています、それが私がこの質問に対する賞金を始める理由です。 最初に受け入れられた答えを読んでください。 cron 1が実行されるとしましょう。5分以内にいるため、または最初のcronがまだ実行されているため、cron2のコードは実行されませんが、cron2のためにwp_schedule_event( time(), 'hourly', 'my_task_hook' );実行されているため、WordPressはcron2 が実行されていると見なすと思います。 cron2コードの実行は実行されません。

3
すべてのトランジェントを削除することに危険はありますか?
クライアント用の大きなサイトがあり、それは機能に多くの拡張機能を備えた本当にカスタマイズされたワードプレスのインストールなので、キャッシュプラグインを使用できません。 パフォーマンスを向上させるために、トランジェント(ナビゲーション、すべてのマーカーを含むGoogleマップなど)を使用してサイトの多くを構築し、動的コンテンツを動的のままにしました。 ここでの問題は、何か変更した場合、現在の結果を確認するために特定のトランジェントを手動で削除する必要があることです。このサイトでは、別のチャネルから入力したときに別のメニューとgooglemapが表示されるため、エリアごとに10個のトランジェントがあります。 それらを一度にすべて削除する関数を作成しますか(一時的なものの名前のリストを使用)、またはサイト上のすべての一時的なものを削除しても大丈夫ですか? それは実際にはそれほど緊急ではありませんが、将来の開発のために、そのようなことで何か問題があったかどうか、そしてすべてのトランジェントをどのように管理するかを知りたいです。 乾杯、フィスキ

2
get_option()はget_transient()にアクセスするよりも高速ですか?
今日、私はdbに対してテストを実行して、オプション、カスタムテーブル、およびトランジェントからのキーへのアクセスの速度の違いを調査します。私はテストを1000回実行しましたが、以下はget操作を1000回実行するのにかかった時間です。 get_transient() 0.0245秒 get_option() 0.0068秒 カスタムテーブルからの単純な選択操作0.65秒 また、このテスト中にトランジェントが期限切れになっていないことを確認しました。だから問題は、テストget_option()よりも速く、get_transient()または私が何かを台無しにしたのですか?WordPressでオプションがデフォルトでキャッシュされるため、カスタムテーブルの遅延はありますか?また、オプションは、トランジェントなどの異なるキャッシュプラグインによってキャッシュされますか?

2
Transients APIを使用したリモート(HTTP)リクエストのキャッシュ
get_transient()Wordpressでメソッドを使用しようとしています。ドキュメントを読みましたが、ドキュメントに記載されていることを実行しているようです。 私は自分のウェブサイトで天気を表示する必要があり、6時間ごとに更新されるサードパーティのWeather APIを使用しています。 天気のローカルキャッシュを作成して、APIが有効期限の後にのみ呼び出されるようにします。(その他の理由:APIレート制限) これは私のコードです: $country = 'India'; $API_Key = 'xxxxxxxxxxxxxx'; $url = 'http://weatherAPI.com/feed/weather.ashx?q='.$latlong.'&format=json&num_of_days=4&key='.$API_Key; $weather = get_transient($location); if (false === $weather) { $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0); $weather = curl_exec($ch); curl_close($ch); set_transient($location, $weather, 60*60*6); } 天気を取得するための場所(say delhi)を送信しているときに、その場所がキャッシュにない場合、false次の文字列を返している間に返されると期待していました '{ "data": { …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.