Redis缓存查询数据(测试)

案例:查询 如果redis有数据则使用redis数据 如果没数据则从mysql查 使用mysql的数据 然后存入redis

1.存单个对象

 /**
     *
     * 单个对象缓存在redis
     * @param id
     * @return
     */
    @GetMapping("/redis")
    public User redisTest(Long id)
    {
        log.info("参数:"+id);
        String redisKey ="redis"+id;
        //判断key是否存在
        boolean exists= redisUtil.exists(redisKey);
          if (exists)
          {
              //从redis读取
             String json= redisUtil.get(redisKey,0);
             log.info("从redis读取json:"+json);
             //反序列化为对象
             User user =JSON.parseObject(json,User.class);
             return user;
          }
          else
          {
              //从mysql查
              User user=iUserService.selectById(id);
              //转成json字符串 存入redis
              String userJson= JSON.toJSONString(user);
              log.info("从mysql读取userJson:"+userJson);
              //存入redis
              redisUtil.set(redisKey,userJson,0);
              //设置过期时间
              redisUtil.expire(redisKey,2000,0);
              return  user;
          }


      //User userInfo =iUserService.selectById(id);


       /* redisUtil.set("900","1000",1);
        String value= redisUtil.get("900",0);
        System.out.println(value);*/

       //删除
       /* Long del= redisUtil.del("11","111");
        System.out.println(del)*/

        //追加
      /*  Long len= redisUtil.append("900","888");
        System.out.println(len);*/
     // redisUtil.flushDB();

    }

2.缓存List<对象>

/**
     * List 存贮
     *
     * @return
     */
    @GetMapping("/selectAll")
    public List selectAll()
    {
        String redisKey ="redisList";
        //判断key是否存在
        boolean exists= redisUtil.exists(redisKey);
        if (exists)
        {
            //从redis读取
            String json= redisUtil.get(redisKey,0);
            log.info("从redis读取json:"+json);
            //反序列化为对象
            List user =JSON.parseArray(json,User.class);
            return user;
        }
        else
        {
            //从mysql查
            List user=iUserService.selectList(new EntityWrapper<>());
            //转成json字符串 存入redis
            String userJson= JSON.toJSONString(user);
            log.info("从mysql读取userJson:"+userJson);
            //存入redis
            redisUtil.set(redisKey,userJson,0);
            //设置过期时间
            redisUtil.expire(redisKey,2000,0);
            return  user;
        }



    }

你可能感兴趣的:(liunx)