黑马Redis实战篇—给商铺类型缓存(练习)
给商铺类型查询业务添加缓存
黑马点评P37集,给商铺类型业务添加缓存。
商铺类型是list类型,较36集需要一些改动。
ShopTypeController
@RestController
@RequestMapping("/shop-type")
public class ShopTypeController {@Resourceprivate IShopTypeService typeService;@GetMapping("list")public Result queryTypeList() {return typeService.queryList();}
}
ShopTypeService
public interface IShopTypeService extends IService<ShopType> {Result queryList();
}
ShopTypeServiceImpl
// 自定义常量
public static final String CACHE_TYPE_LIST = "cache:type:";@Service
public class ShopTypeServiceImpl extends ServiceImpl<ShopTypeMapper, ShopType> implements IShopTypeService {@Resourceprivate StringRedisTemplate stringRedisTemplate;@Overridepublic Result queryList() {String key = CACHE_TYPE_LIST;// 1.从redis查询商户类型缓存String typeJson = stringRedisTemplate.opsForValue().get(key);// 2.判断是否存在if (StrUtil.isNotBlank(typeJson)) {// 3.存在直接返回List<ShopType> shopTypeList = JSONUtil.toList(typeJson, ShopType.class);return Result.ok(shopTypeList);}// 4.不存在,根据商户类型id查询数据库List<ShopType> shopTypeList = query().orderByAsc("sort").list();// 5.存在,写入redisstringRedisTemplate.opsForValue().set(key, JSONUtil.toJsonStr(shopTypeList));// 6.返回return Result.ok(shopTypeList);}
}
查看缓存结果:
在浏览器再次刷新查看时间:
黑马Redis实战篇—给商铺类型缓存(练习)相关推荐
- Redis 实战篇:通过 Geo 类型实现附近的人邂逅女神
码老湿,阅读了你的巧用数据类型实现亿级数据统计之后,我学会了如何游刃有余的使用不同的数据类型(String.Hash.List.Set.Sorted Set.HyperLogLog.Bitmap)去解 ...
- Redis 实战篇:GEO 助我邂逅附近女神
码老湿,阅读了你的巧用数据类型实现亿级数据统计之后,我学会了如何游刃有余的使用不同的数据类型(String.Hash.List.Set.Sorted Set.HyperLogLog.Bitmap)去解 ...
- Redis实战篇--优惠券秒杀
文章目录 Redis实战篇--优惠券秒杀 全局唯一ID 实现优惠券秒杀下单 超卖问题 一人一单 分布式锁 基于redis的分布式锁 Redis实战篇–优惠券秒杀 全局唯一ID 为什么需要全局唯一id? ...
- Redis实战篇--秒杀优化(异步秒杀)
Redis实战篇–秒杀优化(异步秒杀) 整体流程 原本的业务流程 优化后的业务流程: 库存判断数据结构 String 一人一单数据结构 Set集合 set集合保证数据的唯一性 即一人一单 **redi ...
- 黑马Redis6实战篇
文章目录 1.概述 2.短信登录 2.1常规Session实现登录 2.1.1概述 2.1.2基本用例 2.1.3总结 2.2Redis实现共享Session登录 2.2.1概述 2.2.2基本用例 ...
- Redis实战篇一 (短信登录)
Redis企业实战(黑马点评) 项目整体架构 项目部署 后端部署 前端部署 短信登陆 基于Session实现登录 集群的Session共享问题 基于Redis实现共享session登录 解决状态登录刷 ...
- Redis 实战篇:Geo 算法查找附近的人
一.什么是面向 LBS 应用 经纬度是经度与纬度的合称组成一个坐标系统.又称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置(小数点后7位,精度 ...
- Redis 实战篇:Geo 算法教你找出附近 “女朋友”!
产品经理说他有一个 idea,为广大少男少女提供一个连接彼此的机会. 让处于这最美的年龄的少男少女能在每一个十二时辰里能邂逅到那个 Ta. 所以就想开发一款 App,用户登陆后能发现附近的那个 Ta, ...
- Redis主从架构 | 黑马Redis高级篇
目录 一.搭建主从架构 1.为什么要搭建 2.准备实例和配置 3.启动 4.开启主从关系 二. 数据同步原理 1.全量同步 2.命令传播 3.增量同步 三.常见面试题 一.搭建主从架构 1.为什么要搭 ...
最新文章
- Linuxamp;nbsp;shell中的竖线(|)——…
- 二叉树的先序建树后序输出
- ubuntu 14.04 安装Java JDK
- 学java专科_专科学历可以学习java开发吗
- 基于物理的渲染-用真实的环境光照亮物体
- 持续定义SaaS模式云数据仓库+Serverless
- python中or关键字在变量赋值时的用法
- linux cordova安装教程,mac怎么安装cordova?
- vue按钮Button
- shell 编程-Expect
- Echarts数据可视化toolbox工具框,开发全解+完美注释
- 基金行业数据安全保障体系建设探析
- 金针工具箱5.0安装版(多功能软件快捷工具)hh852作品
- APP自动化-显示等待/强制等待/命令等待
- sx1268 中文_SX1268驱动程序设计
- 电脑如何安装android系统版本,电脑如何安装Android系统 电脑安装安卓系统教程
- [转]的C#实现三维数字地形漫游(基于Irrlicht)
- SQL教程之作为 SQL 数据分析师给初学者的5个技巧提升
- 【流媒体性能测试常用指标】
- 银行计考试-计算机考点2-计算机系统组成与基本工作原理