我在ASP上开发。. NET网店软件。哪一个是正确的?
- 将用户购物车中的商品保存在缓存中并设置过期时间
- 将用户购物车中的商品保存在数据库中
没有对错之分……这一切都取决于你对可伸缩性、性能等方面的要求。
如果你的设计是为了真正的高性能,我会把这些缓存在内存中(即write-through缓存),但也会把它们持久化到DB中,并设置过期时间…如果数据丢失没有问题,那么您可以等待持久,直到用户完成订单…
这取决于,理想情况下"将用户购物车中的物品保存在缓存中并有过期时间"是最好的,因为购物车的商定规则是"物品在您的购物车中存储7天或最多10天"
如果您想永久存储它,直到客户清空购物车,然后将其存储到数据库
我认为用数据库来存储数据会更好。
因为,通常购物车会被重定向到第三方网站,如Paypal
,以完成最后阶段的支付部分。
在这里你可能会遇到传递会话变量的问题。
我认为你可以用SQL Server
来存储Sessions
。请查看这篇关于配置SQL Server存储ASP的文章。. NET会话状态。
希望能有所帮助