基于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);
        
    }
相关推荐
2301_802939901 小时前
从零开始学习Redis(六):Redis最佳实践(使用经验总结)
redis
苦学编程的谢1 小时前
Redis_2_特性介绍+应用场景
数据库·redis·缓存
爬山算法1 小时前
Redis(93)Redis的数据加密机制是什么?
数据库·redis·bootstrap
程序员小赵同学2 小时前
Spring AI 极简入门:15分钟集成AI到SpringBoot应用
人工智能·spring boot·spring·springai
蓝色 - Lanse3 小时前
模型推理如何利用非前缀缓存
人工智能·缓存
程序员三明治6 小时前
选 Redis Stream 还是传统 MQ?队列选型全攻略(适用场景、优缺点与实践建议)
java·redis·后端·缓存·rocketmq·stream·队列
梦子yumeko13 小时前
第五章Langchain4j之基于内存和redis实现聊天持久化
数据库·redis·缓存
半旧夜夏13 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
rengang6614 小时前
Spring AI Alibaba 框架使用示例总体介绍
java·人工智能·spring·spring ai·ai应用编程
没有bug.的程序员14 小时前
@Controller、@RestController、@RequestMapping 解析机制
java·spring boot·spring·controller·requestmapping·restcontroller