购物车逻辑实现 Cookie缓存+Redis缓存

本文围绕购物车逻辑实现展开,介绍了购物车的功能,如添加商品、改变数量、显示信息等。阐述了未登录用Cookie、登录用Redis存储的方案及原因,分析了Cookie优点。还分别说明了未登录和登录状态下购物车功能实现步骤,以及两者购物车合并的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

购物车实现逻辑:

购物车实现的功能:
    1、将商品添加到购物车中  
    2、改变购物车商品数量  
    3、显示购物车的信息

将商品添加到购物车中功能分析如下:
    1. 接收到商品ID
    2. 根据商品ID查询商品信息
    3. 将商品信息加入到购物车中
        
需要做的逻辑判断
    1. 判断购物车是否已有对应商品
    2. 如果购物车中没有对应的商品,直接加入
    3. 如果购物车中有对应的商品,只要修改商品数量
    
我的实现步骤:
    1. 首先判断当前用户是否登录,如果未登录采用Cookie存储
    2. 如果登录则采用Redis存储。
    3. 登录后要进行Cookie购物车与Redis购物车的合并操作,并清除Cookie购物车。
    
为什么未登录状态下不使用Session缓存:
    1. session存在时间限制,会定期清空的,而cookie如果不主动清或者设置定期清除则他是不会清除的
    2. session是存在服务器的(服务器端),而cookie是本地的(客户端浏览器),如果多人访问服务器要求可想而知。session很吃内存
    3. 购物车存放的都是临时的物品,购买之后才产生真正的交易记录
       所以这部分数据一般不会放到session中。Cookie是最优的解决方案。

Cookie的优点:
    1. 不占用服务端存储空间 
    2. 用户体验好。 
    3. 代码实现简单。 

如何判断是否登录?
1.从cookie中取token方法 aop

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听风动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值