当前位置: 首页 > news >正文

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

缓存商品、购物车

缓存菜品

实现思路 

代码开发

缓存菜品数据 

清理缓存数据

新增菜品

修改菜品

批量删除菜品

起售、停售菜品

抽取到方法 

缓存套餐 

Spring Cache

入门案例

@EnableCaching 

@CachePut 

@Cacheable 

@CacheEvict

代码开发 

导入Spring Cache和Redis相关maven坐标 

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

在用户端接口SetmealController的 list 方法上加入@Cacheable注解 

在管理端接口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接口中创建删除购物车数据的方法 

相关文章:

  • OpenVLA:大语言模型用于机器人操控的经典开源作品
  • 使用Aspose.Words将Word转换为HTML时,字体样式丢失问题及解决方法
  • keil 中优化等级的bug
  • 聊聊Spring AI Alibaba的RedisChatMemory
  • JavaEE-多线程实战01
  • 关系型数据库PostgreSQL for Mac 保姆级使用教程
  • 【三大特性】虚表 内存分布
  • AI应用讲座2025年4月笔记
  • 电镀废水资源化利用的工艺介绍
  • Centos 7.6安装redis-6.2.6
  • 解决新搭建的centos虚拟器,yum下载不了的问题
  • 蓝桥杯 2. 确定字符串是否是另一个的排列
  • LS2K0300龙芯开发板——智能车竞赛
  • 假设检验学习总结
  • 图像预处理-形态学变换
  • React-Native项目矢量图标库(react-native-vector-icons)以及如何使用
  • 强化学习机器人路径规划——Sparrow复现
  • adb常用的20个命令
  • splitchunk(如何将指定文件从主包拆分为单独的js文件)
  • Python+Selenium+Pytest+Allure PO模式UI自动化框架
  • 央行副行长谈美债和美元波动:单一市场、单一资产的变动,对外储影响总体有限
  • 中央纪委办公厅公开通报3起整治形式主义为基层减负典型问题
  • 银川市长信箱被指乱回复:问诗词大会、答工程欠款,官方称工作失误
  • 孟泽:我们简化了历史,因此也简化了人性
  • 王庆成:儒家、墨家和洪秀全的“上帝”
  • 俄罗斯准备在没有先决条件的情况下与乌克兰进行谈判