3


0

デーモンとは何ですか? それらの実用的? PHPでの使用?

誰かが2つの言葉で私を説明できますか?デーモンとは何ですか?

私は、これが常に実行されているプロセスであることを知っています。 しかし、私はPHPアプリでそれをどのように使用するのか理解できませんか?

誰かが使用例を教えてもらえますか? デーモンを使用してアプリのメモリ使用量を削減できますか?

私が理解しているように、デーモンはデータを保持し、要求に応じて与えることができるので、基本的に私はほとんどの使用可能なデータをそこに保存して、各訪問者のmysqlから取得しないようにしますか?

それとも私はまったく間違っていますか? :)

ありがとう;)

4 Answer


0


_ 誰かが2つの言葉で私を説明できますか?デーモンとは何ですか? _

CLIアプリケーションまたはプロセス

_ 私は、これが常に実行されているプロセスであることを知っています。 しかし、私はPHPアプリでそれをどのように使用するのか理解できませんか? _

それを使用して行うことができます。ユーザーやインターフェースからは見えないジョブ、例えば データベースの古いデータのクリーンアップ、バックグラウンドでdbまたはページの一部または何かを更新したいスケジュールタスク

_ 誰かが使用例を教えてもらえますか? デーモンを使用してアプリのメモリ使用量を削減できますか? _

drupalまたはcronにはcronスクリプトがあったと思います…​多分それをチェックすると役立つでしょう。 メモリを減らしますか? いいえ、メモリの最適化は常にアプリケーションの設計またはスクリプトのコーディングに基づいています。

_ 私が理解しているように、デーモンはデータを保持し、要求に応じて与えることができるので、基本的に私はほとんどの使用可能なデータをそこに保存して、各訪問者のmysqlから取得しないようにしますか? _

いいえ、デーモンはスクリプトですが、デーモンスクリプトが処理できるJSONまたはXMLデータファイルを作成できます。


0


デーモンへのPHPの使用については、https://stackoverflow.com/questions/646928/is-it-wise-to-use-php-for-a-daemon/647801#647801 [この回答]をご覧ください。 PHPで子プロセスをforkしたい場合があります。おそらく、親が他の作業を行っている間に何らかのクエリを実行し、ジョブ全体が完了できることを親に通知する場合があります。

ただし、PHPを使用してソケットサーバーなどをセットアップしたり、実行が秒よりも大きい単位で測定された他のインスタンスでPHPを使用したりすることはありません。

探索や実験を思いとどまらせたくありませんが、言語の能力を超える実装に過度の信頼を置くことには注意してください。


0


デーモンは、ジョブを待つだけの無限の実行プロセスです。 Webサーバー( "http-daemon")はリクエストの処理を待機し、プリンタデーモンは何かが印刷されるのを待機します(など)。 Windowsシステムでは、「サービス」と呼ばれます。

何らかの方法でアプリケーションに使用できるかどうかは、アプリケーションとデーモンで何をしたいかによって大きく異なります。 しかし、私もそのためにPHPをお勧めしません。


0


デーモンは無限ループで実行されるプロセスであるため、デーモンが特定のアプリに役立つかどうかは、デーモンとアプリの要件次第です。

MySQLはそれ自体がデーモンとして実行されますが、MySQLの呼び出し回数を減らす一般的な方法は、出力をMemcachedにキャッシュすることです(当然ながらデーモンとしても実行されます)。 したがって、Memcachedを使用する利点は、デーモンであるということではなく、MySQLd(SQLクエリ可能データベースを提供する)よりも特定のタスク(オブジェクトをキャッシュする)に適したデーモンであるということです。

アプリが同じSQLクエリを繰り返し実行する必要がある場合、アプリとMySQLの間でMemcacheまたは別のキャッシュレイヤー(はい、おそらくデーモンによって提供される可能性が高い)の使用を検討する価値があります。