sky-take-out chapter 6

缓存商品、购物车

缓存菜品

(1)问题说明
如果用户量访问量比较大,数据库访问压力随之增大
(2)实现思路
通过redis缓存菜品数据,减少数据库查询操作

缓存逻辑分析:

  • 每个分类下的菜品保存一份缓存数据
  • 数据库中菜品数据有变更时(新增菜品、修改菜品、批量删除菜品、起售停售菜品)清理缓存数据
    (3)代码开发
    (4)功能测试

缓存套餐

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

Spring Cache提供了一层抽象,底层可以切换不同的缓存实现,例如:

  • EHCache
  • Caffeine
  • Redis

常用注解:

  • EnableCaching 开启缓存注解功能,通常加在启动类上
  • Cacheable 在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中
  • CachePut 将方法的返回值放到缓存中
  • CacheEvict 将一条或多条数据从缓存中删除

(2)实现思路

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

(3)代码开发
(4)功能测试

添加购物车

  • 判断当前加入带购物车中的商品是否已经存在了
  • 如果已经存在了,只需要将数量加一
  • 如果不存在,需要插入一条购物车数据

查看购物车

(1)需求分析和设计
(2)代码开发
(3)功能测试

清空购物车

posted @   jhhhred  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示