基于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);
        
    }
相关推荐
若鱼191910 小时前
spring-kafka消费异常处理
spring·kafka
wuyunhang12345610 小时前
Redis---集群模式
数据库·redis·缓存
送秋三十五10 小时前
spring源码分析————ListableBeanFactory
java·后端·spring
Seven9711 小时前
Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?
redis
一又四分之一.11 小时前
spring、springboot、springCloud
spring boot·spring·spring cloud
IAtlantiscsdn11 小时前
Redis Stack扩展功能
java·数据库·redis
float_六七11 小时前
Spring事务注解@Transactional核心机制详解
java·后端·spring
没有bug.的程序员11 小时前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
wuyunhang12345611 小时前
Redis----缓存策略和注意事项
redis·缓存·mybatis
零雲12 小时前
除了缓存,我们还可以用redis做什么?
数据库·redis·缓存