利用alibaba的fastjson实现,json<==>string<==>对象之间的转换

本文介绍了如何使用阿里巴巴的Fastjson库进行对象到JSON字符串、JSON字符串到对象的转换,并展示了Redis中关于List的操作,包括存取、增加、减少、获取过期时间和删除等操作。

第一种 : 对象转为转为json字符串

String string = JSONObject.toJSONString(对象);

第二种 :json字符串转为json对象

JSONObject jsonObject = JSONObject.parseObject(JSON字符串);

第三种 :json字符串转为对象

对象   info= JSON.parseObject(对象字符串, 对象.class);

第四种 :将无泛型集合转为指定类型集合

对象  info = JSONObject.toJSONString(对象);
 List<对象> list= JSON.parseArray(对象字符串, 对象.class);

List存取redis


//查询数据放入list集合,TaskManage实体类    
List<TaskManage> list = taskManageDao.findList(taskManage);
//向缓存中添加内容
try {
    //把list转换成字符串
    //向缓存中存入数据
    jedisClient.hset("qqqq:", 11 + "", JSON.toJSON(list).toString());
    } catch (Exception e) {
    e.printStackTrace();
    }

//从缓存中取内容
try {
    //获取数据
    String result = jedisClient.hget("qqqq:", 11 + "");
    if (!StringUtils.isBlank(result)) {
        //把字符串转换成list
        List<TaskManage> resultList = JSON.parseArray(result, TaskManage.class);  
    } catch (Exception e) {
        e.printStackTrac();
    }


//向redis里存入数据和设置缓存时间
stringRedisTemplate.opsForValue().set(“baike”, “100”, 60 * 10, TimeUnit.SECONDS);
//val做-1操作
stringRedisTemplate.boundValueOps(“baike”).increment(-1);
//根据key获取缓存中的val
stringRedisTemplate.opsForValue().get(“baike”)
//val +1
stringRedisTemplate.boundValueOps(“baike”).increment(1);
//根据key获取过期时间
stringRedisTemplate.getExpire(“baike”);
//根据key获取过期时间并换算成指定单位
stringRedisTemplate.getExpire(“baike”,TimeUnit.SECONDS);
//根据key删除缓存
stringRedisTemplate.delete(“baike”);
//检查key是否存在,返回boolean值
stringRedisTemplate.hasKey(“baike”);
//向指定key中存放set集合
stringRedisTemplate.opsForSet().add(“baike”, “1”,“2”,“3”);
//设置过期时间
stringRedisTemplate.expire(“baike”,1000 , TimeUnit.MILLISECONDS);
//根据key查看集合中是否存在指定数据
stringRedisTemplate.opsForSet().isMember(“baike”, “1”);
//根据key获取set集合
stringRedisTemplate.opsForSet().members(“baike”);
//验证有效时间
Long expire = redisTemplate.boundHashOps(“baike”).getExpire();
/**

  • 从redis中获取key对应的过期时间;
  • 如果该值有过期时间,就返回相应的过期时间;
  • 如果该值没有设置过期时间,就返回-1;
  • 如果没有该值,就返回-2;
    */
    redisTemplate.opsForValue().getOperations().getExpire(“key的名称”)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值