苍穹外卖(缓存商品、购物车)

缓存商品、购物车

缓存菜品

实现思路

代码开发

缓存菜品数据

清理缓存数据

新增菜品

修改菜品

批量删除菜品

起售、停售菜品

抽取到方法

缓存套餐

[Spring Cache](#Spring Cache)

入门案例

@EnableCaching

@CachePut

@Cacheable

@CacheEvict

代码开发

[导入Spring Cache和Redis相关maven坐标](#导入Spring Cache和Redis相关maven坐标)

在启动类上加入@EnableCaching注解,开启缓存注解功能

[在用户端接口SetmealController的 list 方法上加入@Cacheable注解](#在用户端接口SetmealController的 list 方法上加入@Cacheable注解)

[在管理端接口SetmealController的 save、delete、update、startOrStop等方法上加入CacheEvict注解](#在管理端接口SetmealController的 save、delete、update、startOrStop等方法上加入CacheEvict注解)

添加购物车

接口设计

数据库设计

代码开发

创建ShoppingCartController

创建ShoppingCartServiceImpl实现类

创建ShoppingCartMapper接口

创建ShoppingCartMapper.xml

查看购物车

接口设计

代码开发

在ShoppingCartController中创建查看购物车的方法

在ShoppingCartService接口中声明查看购物车的方法

在ShoppingCartServiceImpl中实现查看购物车的方法

功能测试

清空购物车

接口设计

代码开发

在ShoppingCartController中创建清空购物车的方法

在ShoppingCartService接口中声明清空购物车的方法

在ShoppingCartServiceImpl中实现清空购物车的方法

在ShoppingCartMapper接口中创建删除购物车数据的方法


缓存菜品

实现思路

每个分类下的菜品保存一份缓存数据

数据库中菜品数据有变更时清理缓存数据

代码开发

缓存菜品数据

清理缓存数据

修改管理端接口 DishController 的相关方法,加入清理缓存的逻辑,需要改造的方法:

新增菜品

修改菜品

批量删除菜品

起售、停售菜品

新增菜品
修改菜品
批量删除菜品
起售、停售菜品
抽取到方法

缓存套餐

Spring Cache

Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

入门案例

@EnableCaching

在启动类上加入@EnableCaching注解,开启缓存注解功能

@CachePut
@Cacheable
@CacheEvict

代码开发

导入Spring Cache和Redis相关maven坐标

初始代码已提供

在启动类上加入@EnableCaching注解,开启缓存注解功能
在用户端接口SetmealController的 list 方法上加入@Cacheable注解
在管理端接口SetmealController的 save、delete、update、startOrStop等方法上加入CacheEvict注解

添加购物车

接口设计

数据库设计

代码开发

初始工程已提供DTO

创建ShoppingCartController

创建ShoppingCartServiceImpl实现类

创建ShoppingCartMapper接口

创建ShoppingCartMapper.xml

查看购物车

接口设计

代码开发

在ShoppingCartController中创建查看购物车的方法

在ShoppingCartService接口中声明查看购物车的方法

在ShoppingCartServiceImpl中实现查看购物车的方法

功能测试

清空购物车

接口设计

代码开发

在ShoppingCartController中创建清空购物车的方法

在ShoppingCartService接口中声明清空购物车的方法

在ShoppingCartServiceImpl中实现清空购物车的方法

在ShoppingCartMapper接口中创建删除购物车数据的方法

相关推荐
孟婆来包棒棒糖~2 小时前
Maven快速入门
java·spring boot·spring·maven·intellij-idea
haogexiaole5 小时前
Redis优缺点
数据库·redis·缓存
在未来等你5 小时前
Redis面试精讲 Day 27:Redis 7.0/8.0新特性深度解析
数据库·redis·缓存·面试
杨杨杨大侠5 小时前
附录 1:[特殊字符] Maven Central 发布完整指南:从零到成功部署
java·spring boot·maven
新法国菜6 小时前
MySql知识梳理之DML语句
数据库·mysql
老华带你飞6 小时前
校园交友|基于SprinBoot+vue的校园交友网站(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·校园交友网站
川石课堂软件测试7 小时前
技术干货|使用Prometheus+Grafana监控Tomcat实例详解
redis·功能测试·单元测试·tomcat·测试用例·grafana·prometheus
两张不够花10 小时前
Shell脚本源码安装Redis、MySQL、Mongodb、PostgreSQL(无报错版)
linux·数据库·redis·mysql·mongodb·postgresql·云计算
超级小忍10 小时前
使用 GraalVM Native Image 将 Spring Boot 应用编译为跨平台原生镜像:完整指南
java·spring boot·后端
花花无缺12 小时前
MySQL--B+树
后端·mysql