您的位置:首页 > 其它

cookie溢出浏览器规定容量,如何解决?本地购物车如何解决?

2016-01-20 14:13 483 查看
最近,网站开发中,遇到一个问题,因为我们产品本身的因素,所以 购物车模块做到了客户端COOKIE中存放;

为啥选择cookie呢?因为降低耗服务器资源了!因为我们的快速变动大的商品原因,所以购物车也是起到即时处理即可,没必要存放多久!

当然这样 搞,也加宽了流量带宽,但是cookie本身浏览器限定的大小其实就是为此考虑,所以,在cookie承受大小,存放自己的信息,带宽啥的不是啥大问题;

说了这么多,说重点!

遇到的问题: 客户端加入购物车时,当购物车存放到7个商品时,再加入购物车其他商品,发现加入不进去了!

我此时知道是cookie溢出 了,第一想法是,放到memache里算了!但是问题又来了,我们的购物车访客也是可用的,也就是说啥呢?

未登录的用户 也可以先挑选商品到购物车!所以说放memcache中需要表示对应的用户,是哪个用户的数据,A只显示A自己的,不可能将B加入的商品也显示出来!

所以访客 需要键值key进行标示客户端!此时我想到了sessionId,但是突然想到,sessionId的原理是关闭浏览器他就会重新分配!所以呢,用户加入购物车东西,关闭了浏览器,一会再打开,购物车的东西就会丢了,因为sessionID变了,去memcache拿不到相应的数据了!

在我困惑的时候,突然,想到如果说将 存放到cookie中的商品的串的大小变小,存放的容量不就多了吗?

然后我就搜了一下字符串压缩 和 解压缩!oh good,真的有这函数! 压缩:gzcompress(字符串) 解压缩:gzuncompress(字符串)

然后改了之后,发现明显扩容了!

然后我就感觉到了,基础很重要,如果这两个函数咱特别熟,上边这么多时间就不会浪费掉了!

哈哈~~~

但是这条弯路上的知识点,也是很多的,思考了很多,经验也是有提升的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: