购物车的数据存储方式大至有以下几种:
1. cookie
2. session
3. 数据库
4. 文件cache
最近在做线下购物车功能,用的是1. cookie 的功能, cookie是在将数据存放客户端,有一定的生命周期,也有大小的限制4 k, 一开始我没有考虑到4k的大小限制,所在将想要记录的常用数据放在Array,而后序列化在cookie中,结果购物车只能存放几条数据。所以取消。
后来改用2. session ,session 是存在服务端的一种方式,如果服务重启后将丢失,用户量特别大的事情,而且也会给服务器造成一定的压力。
3. 数据库这种方式也大多采用,优点是弥补了上面两种的缺点;
4. 文件这也是我采用的一种方式,将array原型直接存放在php的文件中,结合cookie,刚用户加入购物车的第一次前创建一个标识,这个标识便是cache的文件名,如果客户端的cookie过期,将重建一个cache,否则一直在这个文件中进行操作。清空购物车删除cache,速度还蛮快的.