redis在springboot项目中的应用

一,将查询结果放到redis中作为缓存,减轻mysql的压力。

只有在数据量大的时候,查询速度慢的时候才有意义。

本次测试的数据量为XXX.

测试代码: 功能为根据昵称进行模糊匹配。

@GetMapping("/get-by-nick")
    public String getNickName(String nickName){
        LambdaQueryWrapper<UserPO> wrapper = new LambdaQueryWrapper<UserPO>()
                .like(UserPO::getNickName,nickName)
                .or()
                .like(UserPO::getUserName,nickName);
        List<UserPO> userPOS = userMapper.selectList(wrapper);
        if (userPOS.isEmpty()){
            return "暂无此人";
        }
        return userPOS.toString();
    }

可以看到大约是耗时10秒左右,这样的性能对用户是不能接受的。

想到加入redis缓存,修改代码,如果redis中没有那么将查询结果存放到redis中。

@GetMapping("/get-by-nick")
    public String getNickName(String nickName){
        String key =buildKey(nickName);
        if(Boolean.TRUE.equals(redisTemplate.hasKey(key))){
            return redisTemplate.boundValueOps(key).get();
        }
        LambdaQueryWrapper<UserPO> wrapper = new LambdaQueryWrapper<UserPO>()
                .like(UserPO::getNickName,nickName)
                .or()
                .like(UserPO::getUserName,nickName);
        List<UserPO> userPOS = userMapper.selectList(wrapper);
        if (userPOS.isEmpty()){
            redisTemplate.boundValueOps(key).set("暂无此人");
            return "暂无此人";
        }
        redisTemplate.boundValueOps(key).set(userPOS.toString());
        return userPOS.toString();
    }

第一次测试:

相关推荐

  1. Springboot项目Redis使用

    2024-03-21 14:18:04       10 阅读
  2. Lua脚本Redis高效应用

    2024-03-21 14:18:04       50 阅读
  3. springbootredis配置

    2024-03-21 14:18:04       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 14:18:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 14:18:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 14:18:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 14:18:04       18 阅读

热门阅读

  1. 共享旅游卡是什么?千益畅行算不算?

    2024-03-21 14:18:04       24 阅读
  2. HTML与WXML 、 CSS与WXSS的区别

    2024-03-21 14:18:04       19 阅读
  3. 设计模式(行为型设计模式——中介者模式)

    2024-03-21 14:18:04       20 阅读
  4. 部署hadoop大数据报错如何解决

    2024-03-21 14:18:04       22 阅读
  5. Nest.js Sequelize ORM到数据库(MySQL & PostgreSQL)示例

    2024-03-21 14:18:04       22 阅读
  6. ZC3201 耐压40V输出12V 300mA LDO

    2024-03-21 14:18:04       20 阅读
  7. Linux笔记之ldd命令详解

    2024-03-21 14:18:04       19 阅读
  8. 探索未知:AI时代基础知识学习的新视角

    2024-03-21 14:18:04       16 阅读
  9. Linux运维_Bash脚本_快速配置Apache(httpd-2.4.54)

    2024-03-21 14:18:04       21 阅读