用Redis缓存查询到的信息

本文介绍了一种在高并发场景下,利用Redis缓存提高数据查询效率的方法。通过缓存热点数据减少对数据库的直接访问,实现快速响应。当缓存中不存在所需数据时,则从MySQL数据库中读取并更新缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用于数据量巨大的情况,加快第二次的响应速度。

 /**
     * 获取分类列表
     */
    @Override
    public R categoryList() {
        //先判断一下,redis中是否有缓存
        String s = redisTemplate.opsForValue().get("categoryList");
        if (s != null) {
            //将s解析为Category类的一个集合
            List<Category> categories = JSON.parseArray(s, Category.class);
            log.info("从redis缓存中获取的列表信息");
            return R.success(categories);
        }

        //没有的话,就去MYSQL数据库中查询
        List<Category> select = categoryMapper.select();
        log.info("获取分类列表的方法");
        if (select.size() != 0) {
            log.info("从数据库获得列表信息");
            //JSON.toJSONString(select)将list集合转换为String
            redisTemplate.opsForValue().set("categoryList", JSON.toJSONString(select), 1, TimeUnit.MINUTES);
            return R.success(select);
        }
        return R.error("查询分类列表失败");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值