Yesod Web 应用程序:存储用户设置的位置

Yesod Web application: where to store user settings

我正在创建一个 Web 应用程序 (Yesod + sqlite),用户基本上可以在其中进行大量全文搜索。 用户可以设置自己的偏好,如文章长度、关键字匹配数等

推荐的存储用户偏好和设置的方法是什么? 我当然可以将这些设置存储在数据库中。那么在每次连接时,用户都从数据库中检索设置并将其保存在内存中?

是的,请将永久用户首选项存储在数据库中。这样设置就会跟随用户,而不管她用来访问您网站的用户代理(设备 and/or 浏览器)是什么。此外,您的数据库管理员可以离线备份数据库,并且可以轻松复制或与新服务器共享。还可以轻松汇总数据库中的设置,以统计哪些首选项未使用、哪些首选项常见以及哪些首选项相关。

将它们存储在别处,无论是在网络服务器上的模糊的平面文件中还是在 HTTP cookie 中,只适用于暂时的设置,这些设置以后甚至不会有统计或历史意义。