【发布时间】:2011-12-13 23:12:48
【问题描述】:
我正在开发 ASP.NET e-Shop 软件。
哪个是对的?
- 将用户购物车项目保留在缓存中并设置过期时间
- 将用户购物车项目保存在数据库中
【问题讨论】:
标签: asp.net shopping-cart
我正在开发 ASP.NET e-Shop 软件。
哪个是对的?
【问题讨论】:
标签: asp.net shopping-cart
没有对错之分……一切都取决于您对可扩展性、性能等方面的要求。
如果您为真正的高性能而设计,我会缓存这些内存(即直写缓存),但也会将它们保存到数据库中并有一个过期时间......如果数据丢失没有问题,那么您可以等待持续到用户完成订单...
【讨论】:
这取决于,理想情况下“将用户购物车中的商品保存在缓存中并有过期时间”是最好的,因为购物车的商定规则是 “商品在您的购物车中存储 7 天或最多 10 天”
如果您想永久存储它直到客户清除购物车,然后将其存储到数据库中
【讨论】:
我认为使用数据库来存储数据会更好。
因为,通常购物车会被重定向到第三方网站,如Paypal,以完成最后阶段的支付部分。
在这里你可能会遇到传递会话变量的问题。
我认为您可以使用SQL Server 来存储Sessions。请看这篇关于Configure SQL Server to Store ASP.NET Session State的文章。
希望对你有帮助
【讨论】: