电商平台,用户未登录,添加商品到购物车 是保存在哪里?

1、如果,保存在session ,未登录的用户很多,大家都保存在服务器session中,会不会对服务器 有影响?
如果关闭浏览器,再打开浏览器 session 中的购物车数据还会有吗?

2、如果,保存在cookie 中,那如果,浏览器要是禁用了cookie 怎么办?

阅读 13k
7 个回答

可以保存到数据库里,采用sessionid作为用户唯一标识进行保存;
购物车表大概是这样的:id session_id user_id item_id
未登录,user_id=0,登录时,根据session_id更新一次user_id即可。

1 如果是保存在session浏览器重新打开必然是没有数据了
2 一般做法是保存在cookie中,如果浏览器禁用cookie那也没办法了
3 还有就是可以储存 localStorage 中,但是只支持html5的浏览器

服务端session,cookies只存sessionid

如果想购物车里面的数据一直存在的话,只能保存在数据库里面了,不然你换终端,换浏览器都没有了。

楼上关于cookies和session的区别都说得差不多了,但正确处理难道不应该是弹窗提示用户先登录,才有权限加入购物车?

不建议保存在Session中,比较赞同 @Douglasssss 的答案。
另外我再补充一条:可以利用 Redis将用户IP作为key保存起来,不过这个有点扯淡,如果是公共环境,呵呵...

保存在数据库里,不然为什么换设备,换终端了购物车里的东西还在,放在客户端的数据其它设备可是拉不到的