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

通过redis缓存获取菜品数据

业务:

 

重点:

//查询redis中的key,规则:dish_分类id
拼接key
 String key = "dish_" + categoryId;

//通过redis查询返回List<DishVO>

List<DishVO> list =  (List<DishVO>) redisTemplate.opsForValue().get(key);

//Result返回范型

public Result<List<DishVO>> list(Long categoryId){

}

  @GetMapping("/list")
    @ApiOperation("根据分类id查询菜品")
    public Result<List<DishVO>> list(Long categoryId){
        //查询redis中的key,规则:dish_分类id
        String 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);
    }
}

 

相关文章:

  • Docker学习--容器操作相关命令--docker events 命令
  • 【mapreduce】工作原理
  • livekit ICE连接失败的一些总结
  • 鬼泣:升龙系统
  • Linux-线程概念与线程控制的常用操作
  • 通过动态获取项目的上下文路径来确保请求的 URL 兼容两种启动方式(IDEA 启动和 Tomcat 部署)下都能正确解析
  • 深度解析算法之滑动窗口
  • 清晰易懂的Rust安装与配置教程
  • 【区块链安全 | 第十五篇】类型之值类型(二)
  • 在 RK3588 多线程推理 YOLO 时,同时开启硬件解码和 RGA 加速的性能分析
  • 【JavaEE】UDP数据报套接字编程
  • 傅里叶变换C++实现方式
  • [C++]C++入门篇 2025最新版
  • Leetcode 寻找两个正序数组的中位数
  • CAM获取操作(程序组)的加工时间
  • 短视频团队架构工作流程---2025.3.30 李劭卓
  • python: DDD+ORM+pyQt6 using MySql
  • 用 Python 实现机器学习小项目:从入门到实战
  • Pyside6 信号与槽
  • 阿里云下一代可观测时序引擎-MetricStore 2.0
  • 域名申请好了 怎么做网站/免费站推广网站2022
  • 德州建设网站有/seo实战指导
  • 建筑网站 法人签字/百度风云榜明星
  • 长春个人做网站/搜狗搜索引擎网页
  • 政府网站建设公司/网页开发
  • 海网站建设生产厂家哪家好/长沙百度首页排名