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

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

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

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


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

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽