我正在为一个网站开发购物车,并且想知道在用户单击“添加到购物车”后我应该以什么方式存储产品 ID。
我应该将它们存储在 session 中——例如
$_SESSION['cart'][$productid]++;
这会给负载下的服务器带来压力吗?或者这是最好的方法吗?
或者我应该创建一个临时数据库表,将信息存储在其中,并在处理订单后删除?
最佳答案
我肯定会将它们存储在数据库中,但不会每次都创建临时表。我建议您保留一个包含所有未完成订单以及用户标识符的表。
这将持续比 session 更长的时间,所有这些都将在用户注销后保留,并在用户再次登录后可用。当用户登录时,将其标识符保留在 session 中。
编辑:虽然连接到数据库确实消耗资源,但这就是数据库服务器的用途。与小表的连接几乎没有任何用途 - 我的意思是,您可能正在执行大量查询,只是显示您的购物车。如果您的网站无法处理由于在小表中保存奇数行而产生的额外压力,您将从销售中获得足够的钱来购买更大的服务器:)
关于php - 购物车 - 存储在 session 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11738230/