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

  • 相关阅读:
    js实现点击上下按钮,图片向上向下循环滚动切换
    jquery实现点击进入新的页面。(jquery实现超链接)
    jquery实现鼠标移入移除背景图片切换
    C:WindowsSystem32driversetchosts文件显示
    网页添加qq咨询
    本地虚拟站点创建
    ftp获取mysql数据库方法
    数论基础
    最小费用最大流
    AC自动机 hdu2222
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11213253.html
Copyright © 2011-2022 走看看