Redis(二)入门:缓存 2.添加Redis缓存

前言:

        上回书说到,缓存可以减轻服务器压力,减少网络延迟,加快页面打开速度。那么本篇会基于一个springboot的小案例来分析添加Redis缓存后的页面是否会提升打开速度。

1、Redis简介

Redis 是一个高性能的 Key-Value 开源数据库, 是一个非关系型的数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案。但它不能替代关系型数据库,只能作为特定环境下的扩充。

2、添加Redis缓存

        我们的案例是一个基于springboot的商铺点评系统,我们使用其中一个页面来为其添加Redis缓存,这张图片我们可以看到,URL地址获取到的内容就是这个商铺的全部信息,我们要在后端找到这个接口并为其添加Redis缓存。

         添加Redis缓存之前,要先把流程想清楚,左边是缓存的作用模型图,右边是添加Redis缓存的流程图:获取前端传过来的商品id并在Redis中查询商铺信息是否存在----->若存在则直接向前端返回商铺信息----->若不存在则要在数据库中查询该商品并添加到Redis缓存中去并返回商铺信息----->若数据库内并没有该商铺信息就会报错。

                       

        代码实现:

    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Override
    public Result queryById(Long id) {
    //根据商店id提前生成商店的key值
        String key="cache:shop:" + id;
    //  1.从Redis中查询商铺缓存
        String shopJson = stringRedisTemplate.opsForValue().get(key);
    //  2.判断是否存在
        if (StrUtil.isNotBlank(shopJson)) {
            //  3.存在,直接返回
            Shop shop = JSONUtil.toBean(shopJson, Shop.class);
            return Result.ok(shop);
        }
    //  4.不存在,根据id查询数据库
        Shop shop = getById(id);
    //  5.若数据库中不存在,返回错误
        if (shop==null) {
            return Result.fail("店铺不存在!");
        }
    //  6.存在,写入Redis
        stringRedisTemplate.opsForValue().set(key,JSONUtil.toJsonStr(shop));
    //  7.返回店铺信息
        return Result.ok(shop);
    }

         重启程序并刷新商铺查询页面,发现在第一次刷新页面时,前端获取到商铺信息时间是19ms,这就意味着数据库中的商铺信息已经被添加至Redis缓存中去了。

        打开Redis图形化界面,我们看到商铺的信息已经存在。

        那么见证奇迹的时刻到了!再次刷新这个商铺的展示页面,我们就可以清晰的看到前端获取该商铺的信息时间是6ms!!这足以体现出缓存的功能。

 别忘了点赞收藏哦~

 

 

 

       

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙城桥少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值