Express webapp如何存储/访问用户设置

时间:2017-02-25 23:43:22

标签: javascript node.js express

我目前正在开发类似于仪表板/ webbrowser主页的Nodejs / Express webapp。数据根据用户的设置显示。目前,我在用户注册时创建了一个json文件(基于模板)。此json文件具有我需要访问的设置,以便在主页面上显示信息。其中一些信息是:地理位置(城市+国家)访问天气api(+单位,预测天数等),电视节目列表(所以我可以从我的数据库中获取剧集列表)等。

目前,当用户登录时,我正在阅读此文件大约4次。我确定这不是一个好主意,虽然它现在工作正常,但我可以看到我将来会遇到的问题(当我添加更多设置和/或获得更多流量时)。

由于webapp几乎已经完成,我想要解决这个问题。我正在考虑几个选项:

  1. 将用户设置保存在会话存储中(例如Redis)
  2. 将用户设置保存在Cookie中
  3. 用户登录时读取文件一次,并以某种方式缓存
  4. 这样做的最佳选择是什么?

1 个答案:

答案 0 :(得分:0)

如果您希望在客户端存储此信息(因为您已经提到过Cookie),您可以consider looking into JavaScript's localStorage API(或var testMessage = `Feb 10 15:16:20 foo_stats[-] (warning): [foo_stats.postfix, line 166, thread "processor_mta03"]: Skipped line because there is no context:#012Feb 10 15:16:20 mta03 postfix/qmgr[7419]: ABCDEF123: from=<>, size=24431, nrcpt=1 (queue active)` func BenchmarkSplitMessageExtra(b *testing.B) { for i := 0; i < b.N; i++ { b.StopTimer() msg := string([]byte(testMessage)) b.StartTimer() splitMessageExtra(&msg) } } 如果您希望数据过期时用户关闭他/她的浏览器。

sessionStorage是一个关键:值对(就像您使用Redis一样),但数据存储在用户设备的本地。与任何客户端存​​储解决方案一样,如果没有验证,您永远不应该信任localStorage提供的数据,但它是专为此类任务设计的工具。