基于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);
        
    }
相关推荐
L-影5 分钟前
springboot启动流程
java·spring boot·spring
早川91913 分钟前
有关线程池知识
spring
Wang's Blog15 分钟前
Go-Zero项目开发5: 数据库与缓存一致性问题及 go-zero 缓存机制解析
数据库·缓存·golang
蚰蜒螟40 分钟前
从 Jedis 到内核:深入剖析 Redis BRPOP 的阻塞与唤醒机制
数据库·redis·缓存
糖果店的幽灵2 小时前
【langgraph 从入门到精通graphApi 篇】节点与边 —— 图的骨架
java·数据库·人工智能·redis·langgraph
后端观测站2 小时前
第八篇:Redis 为什么不会每次修改都写磁盘?
数据库·redis·缓存
Lucis__5 小时前
基于Cache替换算法的LRU缓存实现
数据结构·c++·算法·缓存·lru
辞旧 lekkk12 小时前
【Redis初阶】常见数据类型
开发语言·数据库·c++·redis·学习·缓存·bootstrap
吴声子夜歌12 小时前
Redis 3.x——集群节点通信
redis·缓存·集群
ywl47081208714 小时前
redis持久化
redis