我正在编写网上商店的购物车,我想知道最佳解决方案是做什么的。
我目前有5个会话,其中包含用户为保存sql压力而添加的项目的数据。但我刚刚读到使用会话对性能不利,服务器在达到最大值时会破坏会话(我不知道最大值是多少,我不希望数百个用户同时购买商品时间,只有几个)。
结论,每次用户访问购物车时,最好使用5个会话来保存产品数据或使用查询来获取产品的所有信息?
欢迎任何其他建议!
答案 0 :(得分:0)
我认为最好的方法是将购物车保存到db
因此,用户将拥有亚马逊上的永久图表。
您可以在每个购物车上进行数据挖掘。
如果用户已登录,您可以使用用户ID /密钥保存购物车
如果用户是无用的,您可以使用cookie来识别匿名用户
如果您不喜欢永久购物车,可以在已保存的购物车上添加时间戳
会话在配置超时后或用户关闭其浏览器或应用程序池回收时结束。
我将使用db query caching来保存产品信息而不是会话
无论如何会话或缓存“压力”服务器内存,db查询压力sql
无论如何,有人会受到压力。 恕我直言,最好的方法是缓存sql响应,这样你就可以平衡内存和查询之间的压力答案 1 :(得分:0)
如果您只是期望一些用户在任何时间从您的网上商店购物,那么保存到数据库应该没问题。
如果您担心数据库压力过大,可以将用户的临时购物车保存为Cookie。这样可以节省服务器不必担心会话的问题 - 如果你需要的话,这将允许webfarms - 并允许你利用客户的机器通过JavaScript处理基本的事情。