基于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);
        
    }
相关推荐
2601_962181961 小时前
Redis Redis介绍、安装 - Redis客户端
数据库·redis·postman
程序员夏洛4 小时前
Redis 中如何实现分布式锁?
数据库·redis·分布式
卓怡学长5 小时前
w175基于springboot校园二手物品交易平台
java·spring boot·spring·maven·intellij-idea
互联网中的一颗神经元5 小时前
09. mheap:全局堆管理器
java·spring·dubbo
2601_962174176 小时前
Spring 核心技术解析【纯干货版】- XI:Spring 数据访问模块 Spring-Oxm 模块精讲
数据库·python·spring
2601_962122977 小时前
Spring Cloud——路由网关Zuul
后端·spring·spring cloud
程序员夏洛7 小时前
Redis 的 Red Lock 是什么?你了解吗?
数据库·redis·缓存
程序员夏洛7 小时前
Redis 实现分布式锁时可能遇到的问题有哪些?
数据库·redis·分布式
亚历克斯神16 小时前
低代码与 AI 的融合趋势——从可视化搭建到自然语言生成应用
java·spring·微服务
Rain的Java大神之路17 小时前
PC版网站被狂刷怎么处理
java·数据库·redis·后端·mysql·web安全·运维开发