Может ли кто-нибудь объяснить мне в двух словах, что такое демон и какое использование их в php?
Я знаю, что это процесс, который постоянно работает. Но я не могу понять, что использовать его в приложении php?
Может ли кто-нибудь привести примеры использования? Могу ли я использовать демон для уменьшения использования памяти в моем приложении?
Как я понимаю, демон может хранить данные и предоставлять их по запросу, поэтому в основном я могу хранить большинство используемых данных там, чтобы избежать получения его от mysql для каждого посетителя?
Или я совершенно неправ? 🙂
Благодаря 😉
Может ли кто-нибудь объяснить мне в двух словах, что такое демон и какое использование их в php?
приложение или процесс cli
Я знаю, что это процесс, который постоянно работает. Но я не могу понять, что использовать его в приложении php?
Вы можете использовать его для выполнения; задание, которое не видно пользователю или интерфейсу, например, очистка данных устаревшей базы данных, задача планирования, которую вы хотели обновить, или что-то на db или странице в фоновом режиме
Может ли кто-нибудь привести примеры использования? Могу ли я использовать демон для уменьшения использования памяти в моем приложении?
Я думаю, что drupal или cron имели cron-скрипт … возможно, проверка этого поможет. Уменьшить память? Нет, оптимизация памяти всегда находится в дизайне приложения или закодированном сценарии.
Как я понимаю, демон может хранить данные и предоставлять их по запросу, поэтому в основном я могу хранить большинство используемых данных там, чтобы избежать получения его от mysql для каждого посетителя?
Нет, демон – это сценарий, но вы можете создать файл данных JSON или XML, который может обрабатывать сценарий демона.
Пожалуйста, ознакомьтесь с этим ответом относительно использования PHP для демона. Есть моменты, когда вам может потребоваться разветвить дочерний процесс на PHP, возможно, выполнить какой-либо запрос, в то время как родитель выполняет другую работу, а затем проинформирует родителя о том, что работа в целом может быть завершена.
Однако я бы не использовал PHP для создания сервера сокетов или подобного, и я бы не использовал PHP в любом другом экземпляре, где исполнение было измерено в единицах, превышающих секунды.
Я не хочу препятствовать вам исследовать и экспериментировать, просто предостерег вас от слишком большого доверия к реализации, которая превосходит возможности языка.
Демон – это бесконечный процесс, который просто ждет рабочих мест. Веб-сервер («http-daemon») ждет запросов для обработки, демон принтера ожидает распечатки (и т. Д.). В Win-системах его называют «услугой».
Если вы можете использовать его для своего приложения, в какой-то степени сильно зависит от вашего приложения и того, что вы хотите сделать с демоном. Но также я не рекомендую PHP для этого.
Поскольку демон – это всего лишь процесс, который работает в бесконечном цикле, независимо от того, может ли этот демон быть полезным для вашего конкретного приложения, полностью зависит от демона и требований вашего приложения.
MySQL сам запускается как демон, но типичным способом уменьшения количества вызовов в MySQL является кэширование их вывода в Memcached (что неудивительно также работает как демон). Таким образом, преимущество использования Memcached заключается не в том, что это демон, а в том, что это демон, более ориентированный на конкретную задачу (объекты кэширования), чем MySQLd (предоставляющая базу данных, запрашивающую SQL).
Если вашему приложению многократно нужно делать одни и те же SQL-запросы, то определенно стоит рассмотреть возможность использования Memcache или другого слоя кеширования (который, да, скорее всего, будет предоставлен демоном) между приложением и MySQL.