IM当前开发了类似于仪表板/webbrowser主页的Nodejs/Express WebApp。数据根据用户的设置显示。目前,当用户登录时,我正在创建一个JSON文件(基于模板)。该JSON文件具有我需要访问的设置,以便在主页上显示信息。其中一些信息是:地理位置(City Country)访问天气API( 单位,预测日期等),电视节目列表(因此我可以从我的数据库中获取一集剧集),等等。
目前,当用户登录时,我正在阅读此文件大约4次。我敢肯定这不是一个好主意,尽管现在它正常工作,但我可以看到我将来会遇到的问题(当我添加更多设置和/或获得更多流量时)。
由于WebApp几乎完成了,所以我想解决这个问题。我正在考虑几个选择:
- 将用户设置保存在会话存储中(REDIS,例如)
- 将用户设置保存在cookie中
- 用户登录时一次读取文件,并以某种方式缓存
这样做的最佳选择是什么?
如果您想存储此信息客户端(既然您已经提到了cookie),则可以考虑查看JavaScript的localStorage
API(或sessionStorage
,如果您希望数据过期当用户关闭他/她的浏览器时)。
localStorage
是一个关键:值对(就像您使用redis所获得的一样),但是数据在本地存储在用户的设备上。与任何客户端存储解决方案一样,您永远不应该在没有验证的情况下信任localStorage
提供的数据,但它是为这种任务设计的工具。