赞
踩
电商、外卖、直播等平台基本上都有购物车的功能。
购物车的作用:
1.需要购物的商品的保存
2.购物车可以充当收藏
购物车都需要设置商品的上限
购物车需要接口
1.查询登录用户的购物车列表数据
2.商品详情页、商品列表页 可以加入购物车
3.购物车列表页 可以实现商品数量的变化:增加、减少
实现思路
1.直接操作数据库
用的比较多 如果数据量大或者并发量大的 就会对系统很大压力
加减直接操作数据库
2.使用Redis+Mysql
1.直接对购物车表做缓存
Redis 做购物车的缓存,后面的操作都操作Redis ,最终借助MQ实现Redis数据和Mysql数据的同步
Hash: key:micro:cart:uid 字段:商品的skuid 值:购物车详情信息 有效期:30分钟
只要Redis发送变化发送MQ消息,实现Mysql数据的同步
2.只对购物车中的商品数据做缓存
Hash: key:micro:cart:uid 字段:商品的skuid 值:数量
数量变化 发送MQ消息
购物车商品新增 操作Mysql 可以直接操作Redis
查询购物车列表的时候:先查询数据库,再查询Redis,最后更新商品数量
代码实现
- package com.lxm.productservice.service.impl;
-
- import com.alibaba.fastjson.JSON;
- import org.springframework.amqp.rabbit.core.RabbitTemplate;
- import org.springframework.stereotype.Service;
-
- import javax.annotation.Resource;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
-
- /**
- * @Author LXM
- * @Date 2020/7/16 0016
- */
- @Service
- public class OmsCarItemServiceImpl implements OmsCarItemService {
- @Resource
- private OmsCarItemDao dao;
- @Resource
- private RedissionCore redissionCore;
- @Resource
- private RabbitTemplate rabbitTemplate;
- /**
- * 向购物车表中添加数据
- * @param token
- * @param dto
- * @return
- */
- @Override
- public
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。