Я делаю программу, которая поставит вопрос, и пользователи смогут ответить на него. Это интернет-проект, и поэтому в базе данных будет много вызовов, которые хотели бы только увеличить значение ответа A или B на единицу. Для записи я использую PHP и Mysql, и есть много уникальных элементов, которые будут отправлять запросы обновления на сервер.Временное хранение в PHP
Что можно сделать, чтобы уменьшить количество вызовов в базе данных?
Решение, с которым я столкнулся, состояло в том, чтобы как-то хранить данные на сервере, а затем синхронизировать данные с базой данных по запланированному интервалу. Чтобы обновить результаты, мне нужно знать только 3 вещи - id элемента и оба результата. Для ясности и простоты кода я создал объект модели с этими атрибутами.
До сих пор я придумал/нашел несколько идей:
- Сессии - сделать сессии массив и просто поставить объекты модели внутри нее
- Создайте файл на сервере, который будет хранить данные
- Используйте суперглобальные переменные
- Создание класса PHP, который будет иметь массив, в котором объекты будут идти к и взаимодействовать с классом
- Использование некоторых API - но я был бы полностью зависит о n it
Какое из предлагаемых решений должно быть лучшим с точки зрения простоты, безопасности и производительности или есть лучший способ сделать все это?
Я бы сказал, что API подходит для этого. – Loko
Похоже, вы пытаетесь уменьшить количество вызовов в базе данных, используя какую-либо базу данных. MySQL будет намного мощнее, чем любая система с взломом. –
Похоже, вы можете попасть в преждевременную оптимизацию. Самая простая установка db может обрабатывать довольно много. У меня есть базовая услуга, в которой около 40 * одновременных * пользователей в любое время суток, и я думаю, что только один раз за последние 8 месяцев закончилась нехватка памяти. Это базовый сервер, базовая установка db, отсутствие балансировки нагрузки и крошечный слой кэширования. – ILikeTacos