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

网站建设待遇哪里可以做

网站建设待遇,哪里可以做,有什么网络项目可以做的,网站后台上传文章为什么不显示1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…

1.问题说明

用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大

2.实现思路

通过Redis来缓存菜品数据,减少数据库查询操作。

缓存逻辑分析:

①每个分类下的菜品保持一份缓存数据

②数据库中菜品数据有变更时清理缓存数据

3.代码开发

user/DishController.java代码:

@Autowiredprivate RedisTemplate redisTemplate;
@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);}

admin/DishController.java代码:

package com.sky.controller.admin;import com.sky.constant.StatusConstant;
import com.sky.dto.DishDTO;
import com.sky.dto.DishPageQueryDTO;
import com.sky.entity.Dish;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.DishService;
import com.sky.vo.DishVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;import java.util.List;
import java.util.Set;/*** 菜品管理*/
@RestController
@RequestMapping("/admin/dish")
@Api(tags = "菜品管理接口")
@Slf4j
public class DishController {@Autowiredprivate DishService dishService;@Autowiredprivate RedisTemplate redisTemplate;/*** 新增菜品* @param dishDTO* @return*/@PostMapping@ApiOperation("新增菜品")public Result save(@RequestBody DishDTO dishDTO){log.info("新增菜品:{}",dishDTO);dishService.saveWithFlavor(dishDTO);//清理缓存数据String key = "dish_" + dishDTO.getCategoryId();cleanCache(key);return Result.success();}/*** 菜品分页查询* @param dishPageQueryDTO* @return*/@GetMapping("/page")@ApiOperation("菜品分页查询")public Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO){//分页查询统一返回的是PageResult,因为返回的是Query,所以不需要注解接受PageResult pageResult = dishService.pageQuery(dishPageQueryDTO);return Result.success(pageResult);}/*** 菜品批量删除* @param ids* @return*/@DeleteMapping@ApiOperation("菜品批量删除")public Result delete(@RequestParam List<Long> ids){//使用SpringMVC中的@RequestParam来将数据分割成集合log.info("菜品批量删除:{}",ids);dishService.deleteBatch(ids);//将所有的菜品缓存数据清理掉,所有dish_开头的keycleanCache("dish_*");return Result.success();}/*** 根据id查询菜品* @return*/@GetMapping("/{id}")@ApiOperation("根据id查询菜品")public Result<DishVO> getById(@PathVariable Long id){log.info("根据id查询菜品:{}",id);DishVO dishVO = dishService.getByIdWithFlavor(id);return Result.success(dishVO);}/*** 修改菜品* @param dishDTO* @return*/@PutMapping@ApiOperation("修改菜品")public Result update(@RequestBody DishDTO dishDTO){log.info("修改菜品:{}",dishDTO);dishService.updateWithFlavor(dishDTO);//将所有的菜品缓存数据清理掉,所有dish_开头的keycleanCache("dish_*");return Result.success();}/*** 菜品起售停售* @param status* @param id* @return*/@PostMapping("/status/{status}")@ApiOperation("菜品起售停售")public Result<String> startOrStop(@PathVariable Integer status, Long id){dishService.startOrStop(status,id);//将所有的菜品缓存数据清理掉,所有dish_开头的keycleanCache("dish_*");return Result.success();}/*** 根据分类id查询菜品* @param categoryId* @return*/@GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<Dish>> list(Long categoryId){List<Dish> list = dishService.list(categoryId);return Result.success(list);}/*** 清理缓存数据* @param pattern*/private void cleanCache(String pattern){Set keys = redisTemplate.keys(pattern);redisTemplate.delete(keys);}
}

http://www.dtcms.com/wzjs/33426.html

相关文章:

  • 信誉好的营销网站建设郑州抖音seo
  • 政府门户网站建设项目招标采购app开发教程
  • 盘锦网站建设报价搜索热度查询
  • 乐山市规划和建设局网站lol关键词查询
  • 自学网站有哪些自学网谷歌官方网站注册
  • 可以刮刮卡的网站网络推广培训班
  • 想开个网站怎么做淘宝店铺怎么推广和引流
  • 优化网站排名需要多少钱外链怎么打开
  • 免费架设网站代推广app下载
  • 企业做网站哪个最好郑州做网站公司排名
  • 网站必须要实名认证么b2b平台有哪些网站
  • 网站建设推广专家seo技术蜘蛛屯
  • 出口退税在哪个网站做 seo won
  • 苍南最好的网站建设公司西安百度代运营
  • 营销型网站建设策划书微信小程序开发费用一览表
  • 亚马逊品牌注册网站建设网站制作费用
  • 网站建设3a模型是什么关键词歌词任然
  • 广告联盟的网站怎么做论坛推广案例
  • 真人性做爰免费网站小程序搭建教程
  • 采购找供应商网站网店运营在哪里学比较好些
  • 大连市城乡建设委员会网站最好的免费建站网站
  • 网站研发公司开封网站优化公司
  • 找网上公司做网站外贸独立站怎么做
  • 家装室内设计案例分析图文信阳网站seo
  • 网站怎么做免费seo搜索引擎seo中文意思是
  • 成都网站建设服务功能合肥seo报价
  • 专业提供网站建设服务许昌网络推广公司
  • 今天开始做女神免费网站百度关键词优化送网站
  • 找外国男人做老公网站微信管理助手
  • 茶企业网站建设模板网络营销的方法包括哪些