Что такое демон?Их практическое использование?Использование с php? - PullRequest
3 голосов
/ 07 ноября 2010

Может ли кто-нибудь объяснить мне в двух словах, что такое демон и как его использовать в php?

Я знаю, что это процесс, который работает все время. Но я не могу понять, как его использовать в приложении php?

Может кто-нибудь привести примеры использования? Могу ли я использовать демон для уменьшения использования памяти моего приложения?

Как я понимаю, демон может хранить данные и предоставлять их по запросу, поэтому в основном я могу хранить там наиболее полезные данные, чтобы избежать получения их из mysql для каждого посетителя?

Или я совершенно не прав? :)

Спасибо;)

Ответы [ 4 ]

0 голосов
/ 15 ноября 2010

Поскольку демон - это просто процесс, который выполняется в бесконечном цикле, то, может ли демон быть полезным для вашего конкретного приложения, полностью зависит от демона и требований вашего приложения.

MySQL сам по себе работает как демон, но типичным способом уменьшения количества обращений к MySQL является кэширование их выходных данных в Memcached (который, что неудивительно, также работает как демон). Таким образом, преимущество использования Memcached заключается не в том, что он является демоном, а в том, что он более ориентирован на конкретную задачу (объекты кэширования), чем MySQLd (предоставляет базу данных с SQL-запросами).

Если вашему приложению неоднократно требуется выполнять одни и те же запросы SQL, то определенно стоит рассмотреть возможность использования Memcache или другого уровня кэширования (который, скорее всего, будет предоставлен демоном) между приложением и MySQL.

0 голосов
/ 07 ноября 2010

Пожалуйста, смотрите этот ответ относительно использования PHP для демона. Бывают ситуации, когда вам может понадобиться разветвить дочерний процесс в PHP, возможно, выполнить какой-либо запрос, пока родитель выполняет другую работу, а затем сообщить родителю, что задание в целом можно выполнить.

Я бы, однако, не использовал PHP для настройки сокет-сервера или чего-либо подобного, а также не использовал бы PHP в любом другом случае, где выполнение измерялось в единицах, превышающих секунды.

Я не хочу отговаривать вас от изучения и экспериментов, просто предостерегаю вас от чрезмерного доверия к реализации, превосходящей возможности языка.

0 голосов
/ 15 ноября 2010

Демон - это бесконечный запущенный процесс, который просто ожидает задания. Веб-сервер («http-daemon») ожидает обработки запросов, демон принтера ожидает чего-либо для печати (и т. Д.). В системах Win это называется "service".

Если вы можете использовать его для своего приложения, это сильно зависит от вашего приложения и от того, что вы хотите сделать с демоном. Но я также не рекомендую PHP для этого.

0 голосов
/ 07 ноября 2010

Может ли кто-нибудь объяснить мне в двух словах, что такое демон и как его использовать в php?

cli приложение или процесс

Я знаючто это процесс, который работает все время.Но я не могу понять, как его использовать в приложении php?

Вы можете использовать его для этого;задание, которое невидимо для пользователя или из интерфейса, например, очистка устаревших данных базы данных, расписание задачи, которую вы хотите обновить, часть или что-то на БД или на странице в фоновом режиме

Может кто-нибудь привести примеры использования?Могу ли я использовать демон для уменьшения использования памяти моим приложением?

Я думаю, что у drupal или cron был скрипт cron ... возможно, проверка его поможет.Уменьшить память?нет, оптимизация памяти всегда выполняется при разработке приложения или написании сценария.

Как я понимаю, демон может хранить данные и предоставлять их по запросу, поэтому в основном я могу хранить там наиболее полезные данные, чтобы избежать полученияэто из mysql для каждого посетителя?

Нет, демон - это скрипт, однако вы можете создать файл данных JSON или XML, который может обработать скрипт демона.

...