Хранение данных пользователей сайта

Рейтинг: 0Ответов: 1Опубликовано: 03.12.2014

Пробую писать свою онлайн-игру (php, js, html), вот как хочу организовать данные:

На клиенте: объект js (как хранилище всех данными игрока - инициализируемый при входе в игру).

Сервер: бд MySQL(как постоянное хранилище) и $_SESSION['xxx'] (как временное хранилище всех данных игрока - инициализируемый при при его отсутствии).

Вопрос 1: даст ли это преимущество скорости и производительности (может, я что-то не учёл)?

P.S. Как я к этому пришёл? Задавался вопросом, зачем искать (выборка бд) координаты города (любые данные игрока) среди всех игроков, если можно организовать такую структуру:

бд(

игрок1(город(название,координаты), воины(тип, кол-во)),

игрок2(город(название,координаты), воины(тип, кол-во))

)

Т.е. та же MySQL, только для каждого игрока своя БД/таблица.

Вопрос 2: существуют ли базы данных с подобной структурой?

Обновление

Может, так будет понятней:

  1. Запрос (любой) от клиента (AJAX).
  2. Если $_SESSION['player'](все данные, касающиеся игрока) существует -> берём оттуда, если нет -> берём из БД и записываем в сессию.
  3. Обрабатываем данные.
  4. Ответ.

Ответы

▲ 2

Эмъ... перед тем как писать какую-то игру, лучше бы познакомиться с основами.

Какое к черту "для каждого игрока своя БД/таблица"??? Один игрок - одна запись в таблице.

Судя по вашим вопросам, вы либо упретесь не в БД/сессии, а в плохо написанный код, либо ваша игра никогда не наберет столько игроков, чтобы вы заметили какие-либо тормоза.

Как вариант - писать игру ради изучения этих самых основ. Т.е. не ставить цель "завоевать мир", не писать, "чтобы быстрее работало", а писать, чтобы понять, что и как работает, постепенно углубляясь в детали. Тогда многие вопросы отпадут сами собой.