Пара дюжин игроков одновременно не повредит базе данных и не вызовет заметного лага, если у вас есть эффективные операторы SQL.Скорее всего, ваша база данных будет размещена на том же сервере или, по крайней мере, в той же сети, что и ваша игра или сайт, так что не беспокойтесь.Если ваша БД размещена на отдельном сервере с 8-битной платой 16 Мц, загруженной MSDOS, расположенной в удаленном Амазоне, подключенной радиоволнами, подключенными к генератору с питанием от коленчатого вала, управляемым пьяной обезьяной, вы подключенысвой собственный с этим.
В противном случае, действительно, вам следует больше беспокоиться о том, сколько именно данных вы передаете игрокам взад и вперед.Если вы передаете туда и обратно координаты для всех объектов во всем мире, загрузка страницы может занять мучительно много времени, даже если запрос БД занимает доли секунды.Это иногда преодолевается в играх функцией «тумана войны», которая не мешает уведомлять пользователя о каждом объекте на всей карте, только о тех, которые находятся в непосредственной близости от игрока.Это легко сделать с помощью одного SQL-запроса, где координаты объекта находятся рядом с игроком.Хотя, если у вас скупой хост, они позаботятся о количестве подключений и запросов.
Если вы хотите привлечь еще больше игроков, рассмотрите возможность использования методов кэширования, таких как предварительное построение хранения коротких файлов.часто выбираемые записи или значения с использованием fopen()
, fgets()
, fclose()
и т. д. Или используйте расширения php, например apc
, для хранения значений в памяти, которые сохраняются от загрузки страницы до загрузки страницы.memcache
или memcached
также действуют аналогично, но действуют как отдельный сервер, к которому вы можете подключиться, сохраняете значения, которые можно использовать совместно с другими обращениями к страницам, и запрашиваете.
Для обновления кэшированных страницили значения, когда вы думаете, что они могут устареть, вы можете запускать задание cron очень часто, чтобы обновить эти файлы или значения.Если ваш хост не разрешает задания cron, рассмотрите возможность сделать так, чтобы ваши гости выполняли эту работу: строка сценария на определенной странице обновит кэш новыми значениями из запроса к базе данных после определенного числа обращений к странице.Или кэшируйте значение даты для проверки при каждом обращении к странице, и, если прошло так много времени, обновите кэш.
Опять же, если вы не находитесь под жестким пальцем скупого хоста или если вы не 'Вы получаете сотни и более просмотров страниц за раз, не нужно даже беспокоиться о вашей базе данных.Базы данных не такие хрупкие.Если они падали в истерическом приступе слез в любое время, когда на их пути появлялось больше одного запроса, инженеры, которые его выполняли, не могли долго работать.