Push notification или оптимизированная проверка новых сообщений
Приветствую всех.
Я реализовал чат на сокетах, все работает как подобает, но хочется заранее оптимизировать сией процесс.
На данный момент, скрипт работает след. образом:
Пользователь входит в чат, браузер отправляет запрос через сокеты (HTML5) и запрос улетает на сервер и обрабатывается в цикле, каждая итерация - обращение в БД (цикл засыпает на пол секунды), то-есть, если клиент будет находится в чате 10 минут, то это, грубо говоря, 1200 обращений в БД.
Как можно оптимизировать процесс?
У меня следующее соображение:
Создать отдельный файл и при каждой записи в БД записывать в этот файл ID через функцию file_put_contents() и уже проверять о поступивших данных не в БД, а в файле, и если эти данные новые, то уже доставать их из БД. Но какие могут крыться подводные камни при таком подходе? И вообще правильно ли так делать или же это совсем уж криво? Может быть имеются другие варианты решение проблемы? Я впервые столкнулся с подобной задачей.
|