Я веб-программист на C #, но я хотел создать сайт сражения с покемонами на PHP, где пользователи могут сражаться в Интернете с помощью веб-сокетов. Если вы не знакомы с pokemon, просто представьте, что это шахматный веб-сайт игрок-против-игрока; это одно и то же.
Мой вопрос заключается в том, где сохранить состояние / данные о битве покемонов (или шахмат), такие как здоровье каждого покемона и т. Д. (Или положение шахматных фигур, используя шахматную аналогию).
Сохранение этого в базе данных кажется действительно неэффективным, так как данные изменяются в реальном времени, когда люди играют, и долгосрочное постоянство не важно; как только битва заканчивается, все данные становятся бесполезными. Это не имеет большого значения, если данные будут потеряны, если сервер выйдет из строя.
Если бы я делал это в C #, я бы просто сохранял данные в статических классах (которые сохраняются в запросах и хранятся в оперативной памяти).
В PHP, как лучше всего это сделать?
Я бы порекомендовал использовать memcached. К сожалению, в PHP нет переменных уровня приложения, таких как ASP / ASP.NET, так что это следующая лучшая вещь. Однако это немного сложнее, чем статическая переменная.
Посмотрите на документацию по PHP, чтобы узнать, как начать: http://php.net/manual/en/memcache.examples-overview.php
Других решений пока нет …