我有一个网站,客户可以登录并购买特定范围内的产品(根据客户编号)。导航栏有一个产品类别的下拉菜单,但没有显示任何没有产品的地方。Cookie vs会话vs数据库
当时,每个页面上都会查询数据库以填充产品类别菜单,但这样做效率不高。我现在想知道'允许'产品列表是否应该在会话开始时存储在cookie或会话变量中。
从我从其他问题中收集到的信息来看,通常会使用会话变量,但他们警告不要在会话变量中存储大量数据。在这种情况下,我会为每个用户存储一个潜在的大型产品列表,因此cookies会更好吗?我不会将产品列表列为特别敏感,我会在下订单之前进行服务器端检查。还是应该坚持每次查询数据库的当前解决方案?
要清楚,我仍然会将信息存储在数据库中,这个问题只是询问临时存储以便在整个会话中快速访问。
我已经看过以下问题,但我仍然觉得自己对于特定场景的回答并不满意,而且接近的问题没有提及Cookie。
- Cache VS Session VS cookies?
- Cookie VS Session
- Session Cookie vs Persistent Cookie
- Trade off between user data in session vs database?
- session variables vs database
缓存。始终缓存。如果你只是试图避免往返数据库,session和cookies从来都不是合适的选择。 –
请问有人能告诉我为什么投票吗? –
不确定,但一般来说,你的问题是堆栈溢出的主题。 –