すべてのトランジェントを削除することに危険はありますか?


9

クライアント用の大きなサイトがあり、それは機能に多くの拡張機能を備えた本当にカスタマイズされたワードプレスのインストールなので、キャッシュプラグインを使用できません。

パフォーマンスを向上させるために、トランジェント(ナビゲーション、すべてのマーカーを含むGoogleマップなど)を使用してサイトの多くを構築し、動的コンテンツを動的のままにしました。

ここでの問題は、何か変更した場合、現在の結果を確認するために特定のトランジェントを手動で削除する必要があることです。このサイトでは、別のチャネルから入力したときに別のメニューとgooglemapが表示されるため、エリアごとに10個のトランジェントがあります。

それらを一度にすべて削除する関数を作成しますか(一時的なものの名前のリストを使用)、またはサイト上のすべての一時的なものを削除しても大丈夫ですか?

それは実際にはそれほど緊急ではありませんが、将来の開発のために、そのようなことで何か問題があったかどうか、そしてすべてのトランジェントをどのように管理するかを知りたいです。

乾杯、フィスキ


回答:


6

開発については、常にWP_DEBUGset to trueを使用して以下を実行することをお勧めします。

$key = 'transient_key';
if( !WP_DEBUG && ( false !== ($transient = get_transient($key)) ){

   /* Generate transient manually */
   $expiration = 24*60*60;//How long to keep for
   set_transient($key,$transient, $expiration);
}

一般に、トランジェントはデータベースにあるとは想定されていないため、トランジェントを削除しても問題ありません。


@stephenに感謝します。私はこのソリューションを開発フェーズで使用しましたが、実際の運用前にリファクタリングフェーズで解決しました。それをするべきではありませんでした;)しかし、あなたの経験では、手動でトランジェントを削除することに問題があったことはありますか?
fischi

:)トランジェントの削除に関する情報に感謝します。私はそのようなことを考えましたが、完全に確かではありませんでした。
fischi、

1
いいえ、手動でトランジェントを削除するのに問題はありませんでした。
スティーブンハリス

1

物事が更新されたときに実行されるさまざまなアクションをフックして、トランジェントをクリアして更新する必要があります。たとえば、ナビゲーションメニューが更新されると、wp_update_nav_menuアクションが実行され、関数をフックして一時的なナビゲーションメニューを更新します。


@Miloに感謝します。これは良いアイデアですが、トランジェントはメニューに影響を与えるだけではないため、私には使用できません。多くのコンテンツ(地図上の興味のあるポイント)が常に追加されており、サイトは非常に混雑しています。たとえば、最新のPOIのリストを作成するのは、1時間に1回だけでなく、wp_update_nav_menu
fischi

これは1つの例にすぎません。関連付けられているアクションで各トランジェントを更新します
Milo

ええ、あなたはここにいます。ただし、すべての過渡現象がアクションに関連付けられているわけではありません。それらの一部は、テンプレートファイル(大規模なリストを作成する場合)で直接使用され、実際のhtmlが含まれ、それぞれが1時間持続します。あなたが言ったように、長寿命に設定されたトランジェントについては、私はあなたの方法を使用します:)
fischi

1

変更が行われたときに変更を確認する必要性がパブリックサイトに影響を与えないように、開発環境で開発を行う方が良いでしょうか。

このアプローチを使用すると、サイトのパフォーマンスとユーザーエクスペリエンスへの影響を最小限に抑えながら、本番環境にデプロイ/プロモートし、トラフィックの少ない時間にトランジェントをフラッシュできます。


ええ、もちろん良いでしょう-しかし、私はビジネスを始めてから数週間後にプロジェクトを開始し、それ以来多くのことを学びました。私は完全なインフラストラクチャを構築しているだけです。サーバーでカスタムテーマとプラグインを開発し、それらが完成したらすぐに、ワードプレス更新機能を使用してサイトに更新を展開します。これは私がそこで選んだ最良の方法ではなかったと認めます。
fischi、

私たちはbeen there and done that一度にすべてを一度にやったと思います。
Steve
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.