2013-12-02 3 views
0

Я создаю приложение чата, которое использует базу данных mysql для хранения всего от имен, сообщений, ip и другой важной информации. Приложение чата использует ajax для отправки и получения сообщений из базы данных. В конце приема я подключаюсь к базе данных каждую секунду для проверки новых сообщений. Поэтому мой вопрос ... может ли дескриптор базы данных mysql, скажем, 1000+ пользователей, подключающихся к нему каждую секунду, чтобы увидеть, есть ли новые сообщения? Соединение открывается и закрывается за секунду.подключение к базе данных mysql каждую секунду

+0

Вопрос, который вы должны задать, «может ли мой сервер справиться с этим?» mysql сам по себе не мог заботиться. если аппаратное обеспечение способно на это, то и mysql. –

+0

Возможно, вы захотите взглянуть на использование Pusher: http://pusher.com/ – BenM

+1

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

ответ

1

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

0

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

+0

Нажатие данных через веб-сокеты - это гораздо лучший подход к реальному обмену сообщениями в реальном времени. – Namphibian

Смежные вопросы