zoukankan      html  css  js  c++  java
  • springboot中,使用redisTemplate操作redis

    知识点:

         springboot中整合redis

         springboot中redisTemplate的使用

         redis存数据时,key出现乱码问题

    springboot中整合redis

      (1)pom.xml文件中引入依赖

    <!--加入redis依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    (2)application.yml文件中加入redis相关配置


    host:redis 服务器地址
    port:6379 端口
    database:数据库索引(默认为0)
    password:服务器连接密码(默认为空)
    timeout:连接超时时间(毫秒)

    springboot中redisTemplate的使用

    (1)redis操作的工具类RedisUtil

    (2)使用redisTemplate存取数据

       service层(hash值):

           //存取redis值
          public Map<String, Object> testRedisTemplate(Integer id){    //id=1852
                   Map<String, Object> user=new HashMap<>();
                   Map<String, Object> userResult=redisUtil.getHash("USER_BY_ID"+id);

                   //如果redis中,没有存放值,存入redis
                   if(userResult.size()==0){
                          user = userMapper.findUserById(id);
                          redisUtil.setHash("USER_BY_ID"+id, user,120L);   //120L是有效时间120秒,120秒以后redis中的数据自动删除
                   }else{

                         //如果redis中,有值,直接取redis中的值
                          user=userResult;
                    }
                          return user;
             }

      redis中存放的数据:

    redis存数据时,key的乱码问题

    上面redis中存放的名字和值都乱码了,该如何解决呢?

    我们可以在RedisUtil工具类中加

    //解决乱码问题
    @Autowired(required = false)
    public void setRedisTemplate(RedisTemplate redisTemplate) {
    RedisSerializer stringSerializer = new StringRedisSerializer();
    redisTemplate.setKeySerializer(stringSerializer);
    redisTemplate.setValueSerializer(stringSerializer);
    redisTemplate.setHashKeySerializer(stringSerializer);
    redisTemplate.setHashValueSerializer(stringSerializer);
    this.redisTemplate = redisTemplate;
    }
    改过之后,redis存放的结果


    源码:https://github.com/shuaishuaihand/cacheandredis.git

  • 相关阅读:
    [nodejs] web后端开发时, 用hapi/Joi对前端提交的数据进行校验--随笔
    [C++]类的空指针调用成员函数后,会发生什么事?
    赵家庙保险队大队长【永远置顶】
    NX二次开发-NXOpen C# OpenFileDialog弹出选择文件对话框
    NX二次开发-NXOpen C# string转tag
    NX二次开发-UFUN创建扫掠UF_MODL_create_sweep
    NX二次开发-NXOPEN C# WinForm点构造器UF.Ui.PointConstruct和UI加锁解锁UF.Ui.LockUgAccess
    vue 移动端手写手机验证码登录
    java--Scanner扫描器
    react中this.props.history实现跳转页面的使用方法
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11213253.html
Copyright © 2011-2022 走看看