黑马点评给店铺类型查询业务添加缓存(List实现)

2023-11-09

代码如下:

    public Result queryShopTypeList() {
        String key = CACHE_SHOP_TYPE_KEY_List;
        //1、从Redis中查询店铺类型,获取所有
        List<String> shopTypeList = stringRedisTemplate.opsForList().range(key, 0, -1);
        //2、判断是否存在
        if(!shopTypeList.isEmpty()){
            //3、存在,直接返回
            //转换成ShopType类型的list
            List<ShopType> typeList = new ArrayList<>();
            for(String s: shopTypeList){
                ShopType shopType = JSONUtil.toBean(s, ShopType.class);
                typeList.add(shopType);
            }
            return Result.ok(typeList);
        }
        //4、不存在,从数据库中查询
        List<ShopType> typeList = query().orderByAsc("sort").list();
        //5、不存在,返回错误
        if(typeList == null || typeList.isEmpty()){
            return Result.fail("店铺类型查询失败!");
        }
        //6、存在,写入Redis缓存
        //将ShopType转换成String类型的list
        for(ShopType shopType: typeList){
            shopTypeList.add(JSONUtil.toJsonStr(shopType));
        }
        stringRedisTemplate.opsForList().rightPushAll(key, shopTypeList);
        //7、返回结果
        return Result.ok(typeList);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

黑马点评给店铺类型查询业务添加缓存(List实现) 的相关文章

随机推荐

  • 主流大语言模型的技术原理细节

    作者 spring 1 比较 LLaMA ChatGLM Falcon 等大语言模型的细节 tokenizer 位置编码 Layer Normalization 激活函数等 2 大语言模型的分布式训练技术 数据并行 张量模型并行 流水线并行
  • Vue组件(插槽)

    1 插槽属于Vue组件的三个核心之一 其余两个分别是属性和事件 今天主要学习插槽的使用 2 插槽 slot 将子组件和父组件进行组合 可以弥补视图的不足 是组件具有更好的拓展性 组件的封装方式 抽取共性 3 插槽的使用方式 1 vue2 0
  • 解决'Unknown custom element'问题

    报错截图 解决方法 模板少写了一个 然后删除多余的模板就行啦
  • 如何安装mysql5.7包_安装mysql 5.7 最完整版教程

    安装环境 CentOS7 64位 MINI版 安装MySQL5 7 1 配置YUM源 在MySQL官网中下载YUM源rpm安装包 http dev mysql com downloads repo yum 下载mysql源安装包 shell
  • anaconda python3.8目录_Linux系统下Anaconda的安装和使用教程

    一 Anaconda的安装 去官网下载 https www anaconda com products individual 下载到本地后利用FileZilla软件上传到服务器 我这里上传到了 data bioinfosoftware文件夹
  • vcpkg编译第三方库leveldb

    vcpkg编译leveldb 1 安装vcpkg 使用git命令直接pull vcpkg源码 git clone https github com microsoft vcpkg 2 在vcpkg目录执行bootstrap vcpkg ba
  • Android 之 intent内容解析

    文章目录 intent intent 属性 1 Action 匹配规则 Action匹配只要有一个与Intent中携带Action相同即可 2 Category 注意 3 Data 4 Component 5 Type 6 Extras 存
  • DirectShow音视频同步实验报告(2)

    单一视频流 Filter Graph如图2 图2 单一视频流的Filter Graph 注意 紧靠Video Renderer的上一级Filter的Video输出Pin 其GetMediaType函数提供的Media Type的VIDEOI
  • CMake学习之set

    文章目录 一 set关键字 二 变量的使用 一 set关键字 将一个cmake变量设置为给定值 将变量
  • 搭建jupyter notebook,开启线上IDE学习

    一 windows搭建jupyter notebook 在jupyter notebook中利用本地虚拟环境 1 激活本地虚拟环境 activate py36 安装nb conda conda install nb conda 3 在ana
  • 发布一套很有本土特色的闽南语QQ表情

    发布一套很有本土特色的闽南语QQ表情 作为福建本地人 对闽南语在熟悉不过了 平时朗朗上口的俗话 现在演变成活泼可爱有趣的QQ表情咯 大家喜欢的话可以来收藏 底下有QQ表情导入包 直接导入QQ即可使用了
  • 如何安装EasyX图形库

    如何下载 1 打开EasyX官网点我 应该是这样子的 2 点击 下载 EasyX 在图片的右边 找不到算你眼瞎 3 直接打开安装包 4 下一步 来到选择界面 5 点击安装 EasyX文档也可以安装一下 但下面的必须点一个 6 点击关闭 结束
  • 服务器运维基础知识,运维技术必须了解的服务器基础知识

    小影提醒 文章部分内容源于互联网收集整理 不代表影速观点 若有咨询 运维技术必须了解的服务器基础知识 等有关服务器 云主机租用 托管 配置 价格问题 请随时咨询影速科技客服 享受1v1贴心服务 1 双路等于双核么 常听说双路至强XX式服务器
  • Spring Boot单元测试

    目录 什么是单元测试 单元测试的好处 单元测试的实现 断言 修改操作 删除操作 添加数据 返回受影响的行数 返回自增id 什么是单元测试 是指对软件中的最小可测试单元进行检查和验证的过程 单元测试的好处 可以非常简单 直观 快速的测试某一个
  • 模块化 组合化_一流的组合模块系统

    模块化 组合化 这是本系列的第二篇文章 介绍了用于组合的反转控制类型系统 本文讨论了比上一篇文章的 一流过程类型 更通用的 模块类型 系统 注意 某些功能性编程语言也尝试定义一流模块 本文定义的First Class Modules是从反向
  • 前端基础学习之Sass

    一 概念 1 Sass是什么 Sass 英文全称 Syntactically Awesome Stylesheets 是一个最初由 Hampton Catlin 设计并由 Natalie Weizenbaum 开发的层叠样式表语言 Sass
  • AI读天涯神贴----人,应该怎么活

    接着上一期AI读天涯神贴 开悟其实很简单 这期我们来用AI读另外一篇神帖 人 应该怎么活 下面是帖子中的一些节选 老家有句话 叫春天戳一棍 秋天吃一顿 意思是 春天用个棍子在地上捅个窟窿 扔进种子 那秋天就有可能因此吃上一顿的果实 春天 这
  • Prometheus - SSL 证书过期监控

    目录 一 环境 二 部署 Exporter 2 1 配置 blackbox exporter 2 2 配置 Prometheus 2 3 Grafana 监控面板 一 环境 数据采集 Exporter blackbox exporter V
  • Java实现登录[数据库]

    和上篇的随机点名系统一样 都是使用MySQL数据库来实现 因为刚学所以写点简单例子满足下自己 需求分析 1 输入用户名和密码 2 与数据库中的记录进行比较 原理比较 简单 直接贴代码吧 import java sql Connection
  • 黑马点评给店铺类型查询业务添加缓存(List实现)

    代码如下 public Result queryShopTypeList String key CACHE SHOP TYPE KEY List 1 从Redis中查询店铺类型 获取所有 List