购物车模块

购物车模块包含的功能:提交商品到购物车、显示购物车列表、删除购物车中商品、修改购物车、清空购物车等。

购物车的实现方式:

①将购物车数据存储于session中,一旦关闭浏览器,商品数据丢失。

②将购物车数据存储于cookie中,可长久地保存购物车数据。

③将购物车数据存储于数据库中,可长久地保存购物车数据。

④将购物车数据存储于缓存中(memcache/redis),也可长久地保存购物车数据。

注:Session通常会引起并发问题,如果脚本运行的时候较长,就很有可能产生问题。

在现代Web应用程序开发中,有一个常见的情况:使用 AJAX 技术在同一个页面内发送多个请求获取数据。如果这些请求都需要使用Session,那么第一个请求到达服务器后会取得Session 锁,其它请求就必须等待,所有请求将串行处理,即使它们彼此之间并没有依赖关系。这将大大增加页面的响应时间。

如何解决呢?

就是在使用完 Session 以后立即调用 session_write_close()方法关闭 Session。这样 Session 锁就会释放,即使当前脚本还在等在处理。需要注意的是,调用该方法后,当前脚本就不能进一步操作Session了。

京东购物车的设置:

如果用户已经登录,则购物车数据将被保存于数据库中,如果用户没有登录,则购物车数据将被保存于Cookie中。再登录时,就要判断cookie中是否存在购物车数据,如果有则要转移至数据库中。

 

posted @ 2017-08-31 16:13  惹尘埃  阅读(469)  评论(0)    收藏  举报