-1

对于网站,我希望用户选择网站的外观,例如,如果用户选择“深色”主题,它会更新数据库中的一行(使用“配置”表或仅名为“主题”的列)在用户表中 - 尚未决定)

但是,登录时,将配置选项存储在会话中是否有任何问题,或者我应该将 ID 存储在会话中并在每次页面加载时查询数据库以获取用户信息?

我确信会话选项对于资源来说会更好,但是它有缺点吗(当然,在更改选项时,我需要确保会话值也得到更新)?

更新(带代码):

选项 1:在每个页面加载时查询 DB -> 获取值(“dark”或“light”并使用它来显示正确的主题)选项 2:用户登录,将“dark”或“light”设置为会话变量,并使用它来显示正确的主题

4

1 回答 1

1

我会完全按照您在选项2中所说的那样做。

在我看来,最好在会话中“缓存”用户相关数据。这包括您页面中可能经常使用的任何内容。

尽可能多地保存数据库查询总是更好,因为数据库通常是网站性能的瓶颈。尽管在某些情况下,始终获取最新数据至关重要。

如果每个页面请求都有一个额外的查询,那么在某些时候这可能会成为性能方面的一个重要因素。

正如您已经提到的,在更改时更新会话和数据库都很重要。对我来说,这是唯一的缺点,至少如果我们想这样称呼的话。

于 2013-04-01T21:14:39.777 回答