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

Я создаю веб-приложение, которое использует PHP и MySQL на сервере. Я хочу сохранить некоторые пользовательские данные — в основном набор объектов в формате JSON, которые детализируют информацию о «избранном» пользователя для приложения. Я не хочу хранить эти данные JSON в одном поле MySQL в моей таблице базы данных пользователей, потому что это не кажется эффективным.

Итак, я думаю просто сохранить данные JSON в плоском файле на сервере с уникальным идентификатором, который я могу использовать, чтобы узнать, с каким пользователем связан файл. Мои вопросы: будет ли это масштабируемым решением для более чем 10 000 пользователей?

2

Решение

Это может вызвать у вас много головной боли, как с технической точки зрения, так и с точки зрения безопасности. И нет, это не очень масштабируемо. Подумайте о проблемах, которые это вызовет: что происходит, когда вам нужно добавить сервер? Как вы будете синхронизировать файлы? Что, если вы хотите сделать что-то с участием нескольких пользователей, например, посмотреть, сколько людей предпочитают XYZ?

Гораздо лучший вариант — сделать одно из следующего:

  • Нормализуйте свою базу данных (сделайте эту часть независимо) и поместите избранное в собственную таблицу или же
  • Сохранить избранное в столбце JSON (возможно, неправильный ответ, но в некоторых контекстах имеет смысл)

Если вы беспокоитесь о скорости, вы можете реализовать некоторое кэширование с помощью Redis, memcached или какой-либо другой системы. Но не делайте сделать это еще — это преждевременная оптимизация. Делайте это, когда вам это нужно.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]