电商网站购物车存储方式

大型电商网站在购物节的时候都会有很高的并发量,购物车模块无疑是访问最多的,那么要如何设计才能扛住并发量呢

1、Session方式:

优点:初期性能好,访问快,保存在服务端,相对比较安全

缺点:对于大型电商网站来说会占用过多的服务器资源,造成服务器压力过大。而且用户在退出登录的时候数据会丢失,下次登录又要重新选择

2、Cookie方式

优点:性能好,访问快,保存在客户端,不会占用服务器资源

缺点:Cookie有大小限制,只能存储4KB的数据,而且因为是保存在客户端,所有不够安全,如果是个人电脑,那么Cookie能很好的保存用户购物车信息,如果是公共环境,那么Cookie会被其他用户覆盖掉,就会丢失数据。大型电商网站需要对用户的购买行为进行分析,然后给用户推荐感兴趣的商品,Cookie存储购物车的情况下,不能对用户的购买行为进行分析(数据会被覆盖)。

3、数据库方式

优点:持久化存储,可以分析用户的购买行为

缺点:在高并发的场景下,对数据库的读写压力特别大,网站速度变慢,维护成本增加

4、Redis方式

优点:持久化存储,基于缓存,性能高,读写速度快,不会对数据库造成压力,适用于集群和分布式系统,可扩展能力强

具体方案:

我们可以把未登录用户的购物车信息使用skuid:number的方式保存在Cookie中,已登录用户的购物车信息使用Redis中hash类型userid:skuid:number进行保存,用户登录的时候,可以先检查一下Cookie中有没有购物车信息,如果有,读取Cookie中的购物车信息,然后保存在Redis中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值