Как реализуется хранение настроек пользователя в базе?

Добрый день, во многих социальных сетях у пользователя есть возможность задать довольно большое количество настроек сайта (например, показывать определенные уведомления, скрывать определенные новости). Как реализуется подобное? Требуется создать похожу систему, но на ум пришел только способ с созданием таблицы: user_settings в которой хранится id юзера и json тип данных с его настройками. Насколько верен такой вариант? Есть ли другие?
  • Вопрос задан
  • 125 просмотров
Решения вопроса 2
densisss
@densisss
Веб-разработчик.
Вариант с отдельной таблицей хорошо подходит, если много полей настроек. Но почему json? Храните отдельные поля, так будет легче осуществлять фильтрацию и редактирование отдельных полей.
Ответ написан
alex-1917
@alex-1917
Если ответ помог, отметь решением
Да вообще в любой форме храните, хоть в поле text и потом парсить строку)))
Cуть в том, что настройки юзера - это те данные, к которым НИКОГДА не будет обращения 1000раз в секунду!
Одно обращение в момент подключения юзера к системе - ВСЁ, далее таблица простаивает. Не будут же все ваши 100 млн юзеров входить в систему одномоментно)))
Не забивайтесь так, а то уже попахивает преждевременной оптимизацией.

"Программисты тратят огромное количество времени, размышляя и беспокоясь о некритичных местах кода, и пытаются оптимизировать их, что исключительно негативно сказывается на последующей отладке и поддержке. Мы должны вообще забыть об оптимизации в, скажем, 97% случаев. Поспешная оптимизация является корнем всех зол. И, напротив, мы должны уделить все внимание оставшимся 3%."

— Дональд Кнут


Вот держи пример. set_id - это предопределенный набор настроек, который ты даешь редактировать юзерам.
5bc45f032c184658405712.png
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы