2016-12-17 5 views
1

Я делаю программу, которая поставит вопрос, и пользователи смогут ответить на него. Это интернет-проект, и поэтому в базе данных будет много вызовов, которые хотели бы только увеличить значение ответа A или B на единицу. Для записи я использую PHP и Mysql, и есть много уникальных элементов, которые будут отправлять запросы обновления на сервер.Временное хранение в PHP

Что можно сделать, чтобы уменьшить количество вызовов в базе данных?

Решение, с которым я столкнулся, состояло в том, чтобы как-то хранить данные на сервере, а затем синхронизировать данные с базой данных по запланированному интервалу. Чтобы обновить результаты, мне нужно знать только 3 вещи - id элемента и оба результата. Для ясности и простоты кода я создал объект модели с этими атрибутами.

До сих пор я придумал/нашел несколько идей:

  • Сессии - сделать сессии массив и просто поставить объекты модели внутри нее
  • Создайте файл на сервере, который будет хранить данные
  • Используйте суперглобальные переменные
  • Создание класса PHP, который будет иметь массив, в котором объекты будут идти к и взаимодействовать с классом
  • Использование некоторых API - но я был бы полностью зависит о n it

Какое из предлагаемых решений должно быть лучшим с точки зрения простоты, безопасности и производительности или есть лучший способ сделать все это?

+0

Я бы сказал, что API подходит для этого. – Loko

+0

Похоже, вы пытаетесь уменьшить количество вызовов в базе данных, используя какую-либо базу данных. MySQL будет намного мощнее, чем любая система с взломом. –

+0

Похоже, вы можете попасть в преждевременную оптимизацию. Самая простая установка db может обрабатывать довольно много. У меня есть базовая услуга, в которой около 40 * одновременных * пользователей в любое время суток, и я думаю, что только один раз за последние 8 месяцев закончилась нехватка памяти. Это базовый сервер, базовая установка db, отсутствие балансировки нагрузки и крошечный слой кэширования. – ILikeTacos

ответ

0

У вас может быть одна база данных для данных о строках, и после авторизации вы можете синхронизировать данные в фактическую базу данных, которая требуется вашему приложению. После синхронизации вы можете запустить задание удаления ненужных данных из базы данных строк. Дайте мне знать, если это сработает для вас.

Смежные вопросы