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

门户网站 架构深圳网站建设 推荐xtdseo

门户网站 架构,深圳网站建设 推荐xtdseo,电子商务网站的特色,手机网站建设文章文章目录 1、什么是缓存2、添加商户缓存3、前端接口4、ShopController.java5、ShopServiceImpl.java6、RedisConstants.java7、查看Redis Desktop Manager 1、什么是缓存 缓存就是数据交换的缓冲区(称为Cache),是存贮数据的临时地方&#xff…

文章目录

  • 1、什么是缓存
  • 2、添加商户缓存
  • 3、前端接口
  • 4、ShopController.java
  • 5、ShopServiceImpl.java
  • 6、RedisConstants.java
  • 7、查看Redis Desktop Manager

1、什么是缓存

缓存就是数据交换的缓冲区(称为Cache),是存贮数据的临时地方,一般读写性能较高。

在这里插入图片描述
在这里插入图片描述

2、添加商户缓存

在这里插入图片描述

3、前端接口

http://127.0.0.1:8080/api/shop/1

在这里插入图片描述

4、ShopController.java

package com.hmdp.controller;import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hmdp.dto.Result;
import com.hmdp.entity.Shop;
import com.hmdp.service.IShopService;
import com.hmdp.utils.SystemConstants;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;/*** <p>* 前端控制器* </p>*/
@RestController
@RequestMapping("/shop")
public class ShopController {@Resourcepublic IShopService shopService;/*** 根据id查询商铺信息* @param id 商铺id* @return 商铺详情数据*/@GetMapping("/{id}")public Result queryShopById(@PathVariable("id") Long id) {//return Result.ok(shopService.getById(id));return shopService.queryById(id);}/*** 新增商铺信息* @param shop 商铺数据* @return 商铺id*/@PostMappingpublic Result saveShop(@RequestBody Shop shop) {// 写入数据库shopService.save(shop);// 返回店铺idreturn Result.ok(shop.getId());}/*** 更新商铺信息* @param shop 商铺数据* @return 无*/@PutMappingpublic Result updateShop(@RequestBody Shop shop) {// 写入数据库shopService.updateById(shop);return Result.ok();}/*** 根据商铺类型分页查询商铺信息* @param typeId 商铺类型* @param current 页码* @return 商铺列表*/@GetMapping("/of/type")public Result queryShopByType(@RequestParam("typeId") Integer typeId,@RequestParam(value = "current", defaultValue = "1") Integer current) {// 根据类型分页查询Page<Shop> page = shopService.query().eq("type_id", typeId).page(new Page<>(current, SystemConstants.DEFAULT_PAGE_SIZE));// 返回数据return Result.ok(page.getRecords());}/*** 根据商铺名称关键字分页查询商铺信息* @param name 商铺名称关键字* @param current 页码* @return 商铺列表*/@GetMapping("/of/name")public Result queryShopByName(@RequestParam(value = "name", required = false) String name,@RequestParam(value = "current", defaultValue = "1") Integer current) {// 根据类型分页查询Page<Shop> page = shopService.query().like(StrUtil.isNotBlank(name), "name", name).page(new Page<>(current, SystemConstants.MAX_PAGE_SIZE));// 返回数据return Result.ok(page.getRecords());}
}

在这里插入图片描述

5、ShopServiceImpl.java

package com.hmdp.service.impl;import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.hmdp.dto.Result;
import com.hmdp.entity.Shop;
import com.hmdp.mapper.ShopMapper;
import com.hmdp.service.IShopService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static com.hmdp.utils.RedisConstants.CACHE_SHOP_KEY;/*** <p>*  服务实现类* </p>*/
@Service
public class ShopServiceImpl extends ServiceImpl<ShopMapper, Shop> implements IShopService {@Resourceprivate StringRedisTemplate stringRedisTemplate;@Overridepublic Result queryById(Long id) {String key = CACHE_SHOP_KEY + id;//1、从redis查询商铺缓存String shopJson = stringRedisTemplate.opsForValue().get(key);//2、判断是否存在if (StrUtil.isNotBlank(shopJson)) {//3、存在,直接返回Shop shop = JSONUtil.toBean(shopJson, Shop.class);return Result.ok(shop);}//4、不存在,根据id查询数据库Shop shop = getById(id);//5、数据库不存在,返回错误if (shop == null) {return Result.fail("店铺不存在!");}//6、存在,写入redisstringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(shop));//7、返回return Result.ok(shop);}
}

在这里插入图片描述

6、RedisConstants.java

package com.hmdp.utils;public class RedisConstants {public static final String LOGIN_CODE_KEY = "login:code:";public static final Long LOGIN_CODE_TTL = 2L;public static final String LOGIN_USER_KEY = "login:token:";public static final Long LOGIN_USER_TTL = 36000L;public static final Long CACHE_NULL_TTL = 2L;public static final Long CACHE_SHOP_TTL = 30L;public static final String CACHE_SHOP_KEY = "cache:shop:";public static final String LOCK_SHOP_KEY = "lock:shop:";public static final Long LOCK_SHOP_TTL = 10L;public static final String SECKILL_STOCK_KEY = "seckill:stock:";public static final String BLOG_LIKED_KEY = "blog:liked:";public static final String FEED_KEY = "feed:";public static final String SHOP_GEO_KEY = "shop:geo:";public static final String USER_SIGN_KEY = "sign:";
}

在这里插入图片描述

7、查看Redis Desktop Manager

在这里插入图片描述

http://www.yayakq.cn/news/719936/

相关文章:

  • 12380举报网站建设情况wordpress 标题字号
  • 国内旅游网站排名手机单页网站生成系统
  • p2p网站开发维护商业设计网
  • 上海虹桥站申请建设网站的请示
  • 重庆城乡建设局网站成都青羊建设厅官方网站
  • 网站建设 碧辉腾乐wordpress改后台登录地址
  • 固安做网站代替wordpress
  • 做推送好用的网站网站建设销售兼职合同
  • 烟台专业做网站不错的网站建设公
  • 天津和平做网站哪家好金融网站策划方案
  • 东莞seo建站怎么投放浙江质监站网址
  • 域名注册和网站建设wap 网站模板
  • 湖北可以做网站方案的公司网站建设与管理实训
  • 假网站网站怎么做买了域名之后怎么用
  • 广西钦州有人帮做网站的公司吗杭州云优化信息技术有限公司
  • 做ui的网站有哪些内容程序开发过程的四个步骤
  • 宝安做棋牌网站建设找哪家效益快太原手机网站建设
  • 新建南昌网站建设公司东莞做网站 南城石佳
  • 安康网站制作公司推荐一下网站谢谢
  • 宜昌网站企业资源分享论坛wordpress
  • 如何用自己的电脑做网站空间百度广告联盟一个月能赚多少
  • 韩城建设局网站网站服务器租用阿里云一年多少钱啊
  • 二手网站模板网页设计培训班学费
  • 山东东营建设网官方网站四川宜宾今天最新消息
  • 电子商务基础网站建设定制网站开发哪家好
  • 保定网站建设方法wordpress 4.2 emoji
  • 南京cms模板建站zencart网站地图插件
  • 深圳公司网站备案需要什么资料帝国cms关闭网站
  • 南京网站建设开发公司自建网站如何在百度上查到
  • 网站建设公司好wordpress自定义文章类型输出数量