использование php для отслеживания изменений в mysql ** БЕЗ ** опроса - PullRequest
1 голос
/ 28 июня 2011

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

  • Могу ли я сделать что-то похожее на sqldependency ASP.NET, который помогает выяснить, когда в базу данных вносятся изменения БЕЗ опроса.
  • Я знаю, что опрос в порядке, он может не повлиять на производительность базы данных, но мне нужно знать об обновлении, как только оно будет сделано, поэтому я чувствую, что мне нужно что-то лучше, чем просто опрос каждую секунду.
  • В качестве дополнительной точки обновления, обнаруженные на сервере, должны затем отправляться (Ajax Push - я использую Ajax Push Engine) всем клиентам, которые подписаны на определенный канал.

Спасибо и С уважением, Тотатри Шринивасан

Ответы [ 4 ]

3 голосов
/ 28 июня 2011

Redis PubSub

Я надеялся, что триггеры могут помочь вам, но после небольшого осмотра у меня (очень) есть сомнения.

Вы можете достичь своей цели, используя redis pubsub . Redis - чрезвычайно быстрая структура данных, обслуживающая . Опубликуйте изменения базы данных в канале, и пусть заинтересованные клиенты обнаружат изменения, подписавшись на тот же канал (в режиме реального времени).

Загрузка / установка redis действительно прост, и в качестве дополнительного бонуса вы также «получите расширенное хранилище значений ключей с открытым исходным кодом. Его часто называют сервером структуры данных, поскольку ключи могут содержать строки , хэши, списки, наборы и отсортированные наборы. "

Установка Redis, вероятно, является лучшим способом, но если вы не можете, вы можете использовать бесплатный http://redistogo.com план для общения с сервером Redis с ограничением, что у вас будет только 5 МБ для хранения ваших данных и что он не будет сохранено на диске.

0 голосов
/ 06 декабря 2011

Я думаю, что Q4M - это именно то, что вы хотите http://q4m.github.com/tutorial.html

0 голосов
/ 28 июня 2011

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

0 голосов
/ 28 июня 2011

Вы можете использовать серверную реализацию с такой реализацией, как веб-сокеты или кометы.

...