Назад | Перейти на главную страницу

PHP + Mysql и memcache или phpsessions

В настоящее время я управляю игрой, которая обрабатывает около 8K ежедневных пользователей, текущая настройка сервера

VPS: 16GB+8cores+ 160GBSSD. 
Handles 8K daily users that are generating 600K daily direct calls to the mysql DB; 
The situation is: The game is growing, and server response is slowing down.

Так! Я ищу варианты, чтобы избежать невероятно медленного сервера, и увидел Memcache как жизнеспособное решение, и изучая его, я придумал 2 вопроса, а именно:

Безопасно ли хранить значение ОДНОГО ключа для каждого пользователя, которое содержит все пользовательские данные, возможно, в виде объединенной строки длиной около 100 символов, а затем обновлять БД время от времени? -> это означало бы иметь тысячи ключей одновременно.

Идея состоит не в том, чтобы заменить mysql, а просто для того, чтобы помочь ему в сеансе пользователя и иметь возможность обновлять БД так часто, в этой ситуации будут ли сеансы или Memcache правильным решением?

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

Но и Redis, и Memcache являются решениями в памяти, поэтому убедитесь, что они не содержат критически важных данных. В противном случае вы можете разрешить Redis выгружать базу данных в файл каждые xxx действий или x минут, использовать репликацию / кластер master-slave и т. Д.