前后端分离电商B2C模式之_后台_购物车

本文详细介绍了前后端分离的电商B2C模式下后台购物车的设计与实现,包括需求分析、购物车接口设计、公钥配置、用户信息获取、数据结构选择以及如何在Redis中使用双层Map存储购物车数据,以提高读写效率。
摘要由CSDN通过智能技术生成

1, 需求

在这里插入图片描述

2,加入购物车的思路图

在这里插入图片描述

3,加入购物车的接口

在这里插入图片描述

4,配置公钥,加载公钥

在这里插入图片描述

5,获取token,用户信息

在这里插入图片描述

6,后台购物车——数据结构设计

当用户登录时,我们需要把购物车数据保存到后台,可以选择保存在数据库。但是购物车是一个读写频率很高的数据。因此我在这里选择读写效率比较高的Redis作为购物车存储。
Redis有5种不同数据结构,这里选择哪一种比较合适呢?

  • 首先不同用户应该有独立的购物车,因此购物车应该以用户的作为key来存储,Value是用户的所有购物车信息。这样看来基本的k-v结构就可以了。
  • 但是,我们对购物车中的商品进行增、删、改操作,基本都需要根据商品id进行判断,为了方便后期处理,我们的购物车也应该是k-v结构,key是商品id,value才是这个商品的购物车信息。

综上所述,我们的购物车结构是一个双层Map:Map<String,Map<String,String>>

  • 第一层Map,Key是用户id
  • 第二层Map,Key是购物车中商品id,值是购物车数据

7,添加购物车

@Service
public class CartService {
   

    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Autowired
    private SkuClient skuClient;

    @Autowired
    private JwtProperties jwtProperties;



    /**
     * 用户登录的时候,可以一个一个添加商品进购物车
     *
     * @param cartRequest
     * @param req
     */
    public void addCart
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值