Веб-приложение Yesod: где хранить пользовательские настройки

Я создаю веб-приложение (Yesod + sqlite), где пользователи в основном выполняют кучу полнотекстового поиска. Пользователи могут устанавливать свои предпочтения, такие как длина статей, количество совпадений ключевых слов и т. Д.

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

1 ответ

Решение

Да, сохраните предпочтения постоянных пользователей в базе данных. Таким образом, настройки следуют за пользователем, независимо от агента пользователя (устройства и / или браузера), который она использует для доступа к вашему веб-сайту. Более того, администратор базы данных может выполнять резервное копирование баз данных в автономном режиме и легко копировать их или делиться ими с новыми серверами. Настройки в базе данных также могут быть легко агрегированы для статистики, в которой предпочтения не используются, а какие являются общими и какие предпочтения коррелируют.

Хранение их в другом месте, будь то скрытый плоский файл на веб-сервере или в файле cookie HTTP, будет уместно только для временных параметров, которые впоследствии не будут представлять статистический или исторический интерес.

Другие вопросы по тегам