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

缓存数据减轻服务器压力

问题:不是所有的数据都需要请求后端的

  • 不是所有的数据都需要请求后端的,有些数据是重复的、可以复用的

在这里插入图片描述

解决方案:缓存

在这里插入图片描述

实现思路:每一个分类为一个key,一个可以下面可以有很多菜品

  • 前端是按照分类查询的,所以我们需要通过分类来缓存

在这里插入图片描述

缓存代码

    /*** 根据分类id查询菜品** @param categoryId* @return*/@GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {// 查询redis缓存String key = "dish_" + categoryId;// 如果缓存中有数据,直接返回List<DishVO> list= (List<DishVO>) redisTemplate.opsForValue().get(key);if(ObjectUtil.isNotEmpty(list)){return Result.success(list);}// 如果缓存中没有数据,查询数据库,然后将数据存入缓存Dish dish = new Dish();dish.setCategoryId(categoryId);dish.setStatus(StatusConstant.ENABLE);//查询起售中的菜品list = dishService.listWithFlavor(dish);redisTemplate.opsForValue().set(key, list);return Result.success(list);}

清除缓存

当数据发生变化的时候,需要将历史缓存清除掉,防止不一致

在这里插入图片描述

package com.sky.controller.admin;import java.util.List;
import java.util.Set;@RestController
@RequestMapping("/admin/dish")
@Api(tags = "菜品相关接口")
@Slf4j
public class DishController {private DishService dishService;private RedisTemplate redisTemplate;@Autowiredpublic DishController(DishService dishService, RedisTemplate redisTemplate) {
http://www.lryc.cn/news/459003.html

相关文章:

  • 【自动驾驶】控制算法(十二)横纵向综合控制 | 从理论到实战全面解析
  • Python基础之List列表用法
  • 视觉检测开源库-功能包框架搭建
  • pytest的基础入门
  • (31)非零均值信号的时域分析:均值、方差、与功率
  • 架设传奇SF时提示此服务器满员,GEE引擎点开始游戏弹出服务器满员的解决方法
  • QT day06
  • 微信小程序-npm支持-如何使用npm包
  • Spring Cloud Stream 3.x+kafka 3.8整合
  • JavaScript中的数组
  • UE5运行时动态加载场景角色动画任意搭配-场景角色相机动画音乐加载方法(三)
  • c# 中 中文、英文、数字、空格、标点符号占的字符大小
  • 前端_003_js扫盲
  • ValueError: You cannot perform fine-tuning on purely quantized models.
  • DELL R720服务器阵列数据恢复,磁盘状态为Foreign
  • VMDK 0X80BB0005 VirtualBOX虚拟机错误处理-数据恢复——未来之窗数据恢复
  • 【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL67
  • 51、AVR、ARM、DSP等常用芯片之对比
  • PostgreSQL 和Oracle 表压缩的对比
  • 【pyspark学习从入门到精通3】弹性分布式数据集_1
  • 宠物健康监测仪健康守护者
  • 手写mybatis之解析和使用ResultMap映射参数配置
  • LDR6500:低成本一拖二快充线解决方案
  • DS线性表之单链表的讲解和实现(2)
  • LeetCode 73 Set Matrix Zeroes 题目解析和python代码
  • 鸿蒙--WaterFlow 实现商城首页
  • QT 中如何保存matlab 能打开的.mat数据矩阵!
  • 菱形继承(多继承)
  • 【功能安全】什么是Aspice?
  • 基于SpringBoot的国家基础信息管理功能的设计与实现