商品甄选笔记(分类缓存,商品列表,商品详情)

项目介绍:

主要记录商品甄选的每日实现过程


分类缓存接口实现:

商品的分类数据一般不会过多的修改,因此可以将分类数据进行缓存,提高页面的加载速度

实现技术:

接口主要采用RedisTemplate以及SpringCache去实现商品分类接口的开发

实现思路:

将首页接口获取一级分类数据的缓存

将所有分类数据做缓存

特别说明:分类数据共用三级分类,其中首页中一级分类的数据采取RedisTemplate实现,查询所有的分类数据采取SpringCache实现

接口一实现过程:

首先需要引入redis的起步依赖,即在对应模块下导入

其次需要在该模块配置文件中添加如下redis的相关配置:

最后是具体代码实现:

导入RedisTemplate的相关bean,直接查询redis,约定一级分类数据Key为categoryOne,然后对查询结果进行非空判断,若不为空,则调用JSON中parseArray方法将查询到的集合数据转化为list集合进行返回,若为空,则先去数据库中查出所有的一级分类进行返回,然后将其存储到redis中,同理,将数据库得到的集合转换为字符串类型,并且设置过期时间后存储完成。

接口二实现过程:

此次接口是采用SpringCache进行缓存,查询三层商品分类数据且缓存到redis中

首先需要在对应模块中添加cache的依赖:

然后在模块中添加一个配置类,配置redis的key的序列化器:

然后需要在该模块启动类上添加@EnableCaching注解以开启缓存支持:

最后我们在对应的实现类上添加@Cacheable注解,框架会根据我们在注解上(value = "category" , key = "'all'")添加的value和key值作为缓存到redis的数据定义名称,即为:category::all


商品列表接口实现:

实现思路:

首先商品列表所实现的功能为当点击首页的一级分类,点击分类频道的三级分类以及首页的畅销商品时,都会进入商品列表。所以我们需要完成两个接口:即查询所有品牌接口->用于商品列表页面,商品列表条件分页接口->当点击一级分类,二级分类,三级分类,品牌及排序时,都是进行商品的条件查询

查询所有品牌:

就是简单的三层调用和简单的sql查全部语句的实现,操作表为brand品牌表;

条件分页查询:

传入当前页与每页记录数,和封装好的条件查询VO对象。调用service层进行分页条件查询:

注意返回值为PageInfo,最后Sql语句采用动态sql实现

商品详情接口实现:

实现思路:

当点击一个商品时,需要将商品的基本信息,sku信息,轮播图信息,图片详情信息,商品规格信息,当前商品的sku对应的规格属性全部展示出来,此时设计到三张表的查询,商品表->基本信息;商品SKU表->sku信息,商品详情表->图片详情

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值