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

springboot学习11 (菜品缓存redis)

缓存逻辑分析

  • 目的:减轻数据库压力
  • 每个分类下的菜品保存一份缓存数据
  • 数据库中菜品数据有变更时清理缓存数据
    keyvalue
    dish_1string(...)
    dish_2string(...)
    dish_3string(...)
    @GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {//构造redis中的key,dish分类idString key="dish_"+categoryId;//查询redis中是否存在菜品数据List<DishVO> list=(List<DishVO>) redisTemplate.opsForValue().get(key);if(list!=null&& list.size()>0){//如果存在直接返回,无需查询数据库return Result.success(list);}Dish dish = new Dish();dish.setCategoryId(categoryId);dish.setStatus(StatusConstant.ENABLE);//查询起售中的菜品//如果不存在,查询数据库并放入redis中list = dishService.listWithFlavor(dish);redisTemplate.opsForValue().set(key,list);return Result.success(list);}

 存储成功

当前问题:如果价格等数据更新,缓存没用被清理,显示不变

清理缓存

当菜品状态或添加删除菜品,需要清理缓存

        //将所有菜品缓存数据清理掉,所有以dish_开头的keySet keys= redisTemplate.keys("dish_*");redisTemplate.delete(keys);
        //清理缓存数据String key="dish_"+dishDTO.getCategoryId();redisTemplate.delete(key);

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 分类预测|基于雪消融优化极端梯度提升的数据分类预测Matlab程序SAO-XGBoost 多特征输入多类别输出
  • 最长回文子串:动态规划推导
  • Java项目: 基于SpringBoot+mysql旅游网站管理系统分前后台(含源码+数据库+开题报告+PPT+毕业论文)
  • uniapp中使用弹出框控制Tab栏区域显示与隐藏
  • 浅谈分库分表的“读扩散”问题
  • 【Qml】QML QQuickImage: Cannot open
  • 09-03 周二 ansible部署和节点管理过程
  • VOCs将纳入征税,LDAR系统的排放量计算准确度将要求更加规范,VOCs排放量计算准确度会更加重视,直接影响到税费
  • 嵌入式软件--51单片机 DAY 1
  • 【unity实战】使用新版输入系统Input System+Rigidbody实现第三人称人物控制器(附项目源码)
  • python网络爬虫(一)——网络爬虫基本原理
  • 全国大学生数据建模比赛——深度学习
  • ROS Simulink 支持与限制
  • python实战一:合并多个Excel中数据
  • ios私钥证书(p12)导入失败,Windows OpenSSl 1.1.1 下载
  • [笔记] php常见简单功能及函数
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 78. Subsets
  • CSS 提示工具(Tooltip)
  •  D - 粉碎叛乱F - 其他起义
  • emacs初体验
  • ES6系统学习----从Apollo Client看解构赋值
  • hadoop集群管理系统搭建规划说明
  • Javascript编码规范
  • JavaScript实现分页效果
  • Java多线程(4):使用线程池执行定时任务
  • Java新版本的开发已正式进入轨道,版本号18.3
  • PAT A1050
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • 阿里云购买磁盘后挂载
  • 漂亮刷新控件-iOS
  • 前端临床手札——文件上传
  • 如何优雅地使用 Sublime Text
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 消息队列系列二(IOT中消息队列的应用)
  • 小程序开发之路(一)
  • 由插件封装引出的一丢丢思考
  • 怎么把视频里的音乐提取出来
  • # Redis 入门到精通(七)-- redis 删除策略
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #1015 : KMP算法
  • (C语言)共用体union的用法举例
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Oracle)SQL优化技巧(一):分页查询
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (七)Activiti-modeler中文支持
  • (三) diretfbrc详解
  • (一) springboot详细介绍
  • (转)jdk与jre的区别
  • (转)nsfocus-绿盟科技笔试题目
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .Net8 Blazor 尝鲜
  • .net开发时的诡异问题,button的onclick事件无效
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • /etc/skel 目录作用