基于Redis添加商铺查询缓存

文章目录

1.流程图

2.实现逻辑

Service层

java 复制代码
public Result queryById(Long id) {
        // 1.从redis中查询店铺缓存
        String shopJson = stringRedisTemplate.opsForValue().get("cache:shop:"+id);
        // 2.判断缓存是否存在
        if (StrUtil.isNotBlank(shopJson)) {
            Shop shop = JSONUtil.toBean(shopJson, Shop.class);
            return Result.ok(shop);
        }
        // 3.不存在,根据id查询数据库
        Shop shop = getById(id); // mybatisplus功能
        // 4.不存在,返回错误
        if (shop == null) {
            return Result.fail("店铺数据不存在");
        }
        // 存在,写入redis
        stringRedisTemplate.opsForValue().set("cache:shop:"+id, JSONUtil.toJsonStr(shop));
        return Result.ok(shop);
        
    }
相关推荐
阿里加多32 分钟前
第 1 章:Go 并发编程概述
java·开发语言·数据库·spring·golang
Rick19931 小时前
Redis 分布式锁:核心使用场景
数据库·redis·分布式
希望永不加班2 小时前
SpringBoot 自动配置类加载顺序与优先级
java·spring boot·后端·spring·mybatis
身如柳絮随风扬2 小时前
Redis如何实现高效插入大量数据
数据库·redis·缓存
予早3 小时前
Redis 设置库的数量
数据库·redis·缓存
OxyTheCrack3 小时前
【C++】一文详解C++智能指针自定义删除器(以Redis连接池为例)
c++·redis
凯尔萨厮3 小时前
创建SpringWeb项目(Spring3.2+)
spring·mvc
Flittly3 小时前
【SpringAIAlibaba新手村系列】(16)调用百度 MCP 服务
java·笔记·spring·ai·springboot
黑金IT4 小时前
vLLM本地缓存实战,重复提交直接复用不浪费算力
人工智能·缓存
希望永不加班4 小时前
SpringBoot 事件机制:ApplicationEvent 与监听器
java·开发语言·spring boot·后端·spring