Abb*_*bas 6 database asp.net shopping-cart session-variables
我正在创建一个电子商务应用程序,其中我有一个购物车.
我目前的结构是,每当用户保存产品时,我将产品放入数据表并将数据表放入会话,因此在会话未超时之前,用户可以拥有他们保存的列表.
然而,我已经将会话超时时间增加到600分钟(10小时),但我担心的是,这是存储购物车信息的最佳方法,因为如果有例如1000个用户同时访问该网站,则会创建1000个会话对象在服务器上,它不会恶化我的网站的性能.
我无法将其存储在数据库中,因为如果用户是匿名的,我没有关于用户的独特之处,这样,如果1000个用户访问该网站,所有产品将合并,我将无法获取当前用户保存的产品.
有没有其他更好的方法来解决这个问题.
gla*_*rou 21
你不应该这样实现.10个小时的会话很长,如果您的网站上有1000个用户,您的服务器将受到影响,并会产生一些性能问题.
在我们的电子商务网站上,我们为匿名用户创建了一个cookie.完成此操作后,您有两个解决方案:
您可以轻松更改Cookie的过期时间(或删除它),而不会影响服务器的整体性能.对于您可以使用的ID Guid.NewGuid().
更新:
有关我的第二个解决方案的更多详细信息
Guid.NewGuid()(名称和值由您决定).使用此解决方案,所有内容都保留在数据库中,不需要会话.您可以像更改会话一样更改Cookie的到期时间,或者您可以毫无风险地清理临时表或创建匿名用户的统计信息(为什么他们没有进行结帐,平均有多少项,哪个项目,. ..).
| 归档时间: | 
 | 
| 查看次数: | 7476 次 | 
| 最近记录: |