当前位置: 首页 > 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);
    }
}

 

http://www.dtcms.com/a/102008.html

相关文章:

  • 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
  • CPM:大规模生成式中文预训练语言模型
  • 从头开始运行一个yolo11的分类模型
  • MySQL响应慢是否由堵塞或死锁引起?
  • 端到端自动驾驶VLA模型:技术解析与模型设计
  • PostgreSQL数据库迁移到Docker拉取的pg镜像中的
  • 3.30 学习总结 Java 常用API+图形化界面
  • Linux系统中修改主机名及设置固定IP地址保姆级教程
  • UE5学习笔记 FPS游戏制作29 更换武器时更换武器的图标
  • 大模型LLMs基于Langchain+FAISS+Ollama/Deepseek/Qwen/OpenAI的RAG检索方法以及优化
  • Java图片加水印 实战demo