php/MySQLでのタイムイベント


4

一定の時間が経過した後にテーブルの値を変更する方法が必要です。私の現在の方法は以下の通りです:待機期間の

  • 挿入終了時間は、テーブルに
  • ユーザーが変更する値を要求するページをロードするとき、もし
  • 現在> =終了時刻かどうかを確認します値を変更して終了時刻のフィールドを削除します。そうでない場合は何もしません。

これはサイトの主な機能となるため、効率が重要です。そのことを念頭に置いて、あなたはおそらく私がそれをやっている方法で問題を見ることができます。同じコードが情報を必要とするページにアクセスするたびに呼び出されます。

改良や改善された方法についてのご意見は、phpまたはperlでお願い致します。

cronのジョブの応答に応じて: ありがとう、私は可能な限りそのようなことをしたいと思いますが、ホストの制限が問題です。これはアプリの大部分なので、制限することはできません。

  0

どのような時間帯を見ていますか?数秒後に更新するのは簡単で、数時間後に更新するのは難しいでしょう。 23 9月. 082008-09-23 19:20:33

  0

を共有ホストに置くことは、できる限り最善の方法です。この方法の効率が問題となる大規模なアプリケーションであれば、より良いホストが必要です。手頃な価格のVPSを入手することができます.VPSを使用すると、ルートアクセスが可能になり、好きなだけ頻繁にcronを実行できます。 23 9月. 082008-09-23 20:03:49

2

cronジョブを使用して、データベースの各フィールドを定期的にチェックし、その方法で更新できますか?

アップデートの必要な頻度は、大部分です。多くの共有ホストがcronチェックの頻度を制限します。たとえば、アプリケーションに影響を与える可能性があるのは15分以下です。


5

なぜこの情報をバックグラウンドで更新するためにcronを使用しないのですか?その方法で各ページヒットのチェックをオフロードし、実際にアプリの要件を満たすタイミングをスケジュールすることができます。


3

あなたはcronにアクセスできないので、ソリューションは非常に論理的です。もう1つの方法は、ファイルに値を格納し、次にページがロードされたときに最後に変更されたときにチェックし(filemtime( "checkfile.txt"))、再度変更する必要があるかどうかを判断することです。両方の方法のパフォーマンスをテストする必要があります。

  0

良いアイデアのように聞こえます。私はそれを試してみましょう。ありがとう。 23 9月. 082008-09-23 23:15:23


0

パフォーマンスは本当にあなたが情報を保存するためにmemchached使用することができます(あなたはおそらく実現するよりも多くを意味する)の問題、であることを開始した場合...


1

あなたが各ページにいくつかの並べ替えのトリガーを使用することができます負荷。パフォーマンスにどのような影響があるのか​​は分かりませんが、他の人が光を当てるかもしれません。

  0

それは基本的に私がやっていることですが、とにかく感謝します。 23 9月. 082008-09-23 23:14:49