1、实现效果

2.思路:

由于数据库中图标类型有个sort字段,所以需要对图标进行排序。因此可以用Zset类型将存储图标类型,以type-list为key,shopType为value,sort数据为分数,用Zset自带的排序命令获得排序后的数据。具体流程为:

  1. 查询Redis中是否含有图标类型数据
  2. 如果查询到数据,将数据从缓存中取出,返回给前端接受
  3. 如果查询不到数据,则到数据库中查询
  4. 将数据库查询到的数据保存的Redis中

3.代码

 @Overridepublic List<ShopType> queryTypeList() {List<ShopType> list= new ArrayList<>();//1.到缓存中查询Set<String> values = stringRedisTemplate.opsForZSet().rangeByScore("type-list", 0, -1);if (values.size()!=0) {//2.获取查询到的数据并返回for (String value : values) {ShopType shopType = JSONUtil.toBean(value, ShopType.class);list.add(shopType);}return list;}//3.缓存中查询不到,在数据库中查询list = query().orderByAsc("sort").list();//4.将查询到数据存入redisfor (ShopType shopType : list) {stringRedisTemplate.opsForZSet().add("type-list",JSONUtil.toJsonStr(shopType),shopType.getSort());}return list;}

Redis实战学习--缓存首页图标类型相关推荐

  1. Redis实战之百度首页新闻热榜

    目录 目标 功能 分析 代码实现 控制层 业务层 工具类 相关博文 目标 利用Redis实现类似百度首页新闻热榜功能. 功能 新闻排行榜以热度为指标降序排序,这里假设热度就是评论数量且统计的热度时间范 ...

  2. 黑马点评Redis实战(短信登录;商户查询缓存)

    黑马点评 通过一个类似于大众点评的项目了解学习redis在实战项目中的使用,下面是项目中会涉及到的模块: 一.导入黑马点评项目 导入springboot项目,导入sql脚本到数据库,开启nginx,更 ...

  3. 怎么查询redis缓存的数据_阿里开发十年写出这份「Redis简明教程」+「Redis实战」请你查收...

    Redis是啥?用Redis官方的话来说就是: Redis is an open source (BSD licensed), in-memory data structure store, used ...

  4. springboot redis 刷新时间_「SpringBoot实战」SpringCache + Redis实现数据缓存

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  5. Redis进阶学习08--多级缓存

    Redis进阶学习08--多级缓存 什么是多级缓存 JVM进程缓存 环境准备 docker安装mysql docker安装nginx 反向代理 初识Caffeine 实现JVM进程缓存 需求 实现 L ...

  6. Redis实战之查询缓存

    Reids实战之查询缓存 对于一些不常变动却查询频率高的数据,对此进行数据库的访问会降低查询效率,此时可以使用redis缓存来解决,案例:查询商品信息 一 实现思路 可能出缓存穿透问题,以及缓存和数据 ...

  7. 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存

    文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...

  8. 电商项目实战之缓存与Redis分布式锁

    电商项目实战之缓存与Redis分布式锁 缓存失效 缓存穿透 缓存雪崩 缓存击穿 分布式缓存 分布式锁 SpringBoot整合Redisson实现分布式锁 实现过程 缓存和数据库一致性 场景分析 解决 ...

  9. redis实战_Redis实战(7)-SortedSet实战之认识有序集合(命令行与代码实战)

    缓存中间件Redis拥有许多丰富.重要且有趣的数据结构,前文介绍的字符串String.列表List和集合Set便是其中的佼佼者,本文以及后续篇章介绍的有序集合SortedSet和哈希Hash数据结构亦 ...

最新文章

  1. FFT镜头效果的新进展
  2. 华为企业管理经典案例_企业税务筹划-华为公司税筹案例分析
  3. 10个python使用技巧
  4. angularjs移除不必要的$watch
  5. 不礼让行人怎么抓拍的_【交通违法曝光2019年第11期】梅河口市公安局交警大队对电子警察抓拍的88台机动车不礼让行人车辆曝光如下...
  6. apache lucene_Apache Lucene中的并发查询执行
  7. 扫地机器人开机充电还是关机充电器_适用于智能扫地机器人的充电方法与流程...
  8. java-web乱码问题解决
  9. 无人机4G数传一站多机模式
  10. 项目启动会发言稿(范文二)
  11. 西门子PLC编写抢答系统
  12. 怎么在当前文件目录下打开CMD
  13. Docker的中央仓库
  14. TIDB-OLTP和OLAP的区别
  15. 面对已知问题和未知问题的解决思路
  16. 食物链(种类并查集)
  17. csvn-httpd启动报AH00094错解决办法
  18. 【操作系统实验】Linux环境下用进程实现哲学家进餐问题——C语言完整代码+详细实验报告
  19. octobercms mysql_手把手教你选择一款适合自己的CMS/博客程序
  20. 系统学习深度学习(十五)--AlexNet译文

热门文章

  1. new tech 201602
  2. PDF.js 不显示电子签章
  3. 论文笔记VITAL: VIsual Tracking via Adversarial Learning
  4. VS 网站项目 缺失或误删项目文件(.sln)
  5. 实时数仓 | 你需要的是一款强大的 OLAP 引擎
  6. Java调用百度短网址生成短链接
  7. 软件测试工程师考核标准,(软件测试工程师考核标准.docx
  8. PowerShell是什么
  9. session学习总结-用户登录及一次性校验码案例
  10. 算法 - 递归与迭代 区别与联系