GloriaGG

 

如何从redis中读取对象

今天写项目,遇到一个问题:从kafka实时监听数据,存入到redis中,然后在另一个程序中每隔一分钟读取redis中存储的数据。

存进redis的直接就存入的是一个实体类,等到从redis中取出时,springboot项目报错:不能变成实体(使用ObjectMapper)。百度了一下,发现一个方法比较好用。

 

1.当存入redis时,用     JSON.toJSONString(实体对象,SerializerFeature.WriteNullStringAsEmpty)

把实体类变成JSONString类型,后面是对实体中空字符串进行处理。

 

2.当从redis中取数据时,Object object=redisTemplate.opsForList().index(key,0L)    得到redis中key对应的值

          JSONObject jsonObject=JSON.parseObject(object.toString())   得到jsonObject

          Entity entity=JSON.toJavaObject(jsonObject,Entity.class)    得到我们想要的实体类对象

 

通过以上两步,可以从redis中取出我们想要的实体类对象进行操作。这个方法已经测试过,没有问题。可能还有其他简单的方法,但是目前是用这个方法。

posted on 2020-12-18 14:43  GloriaGG  阅读(1895)  评论(0编辑  收藏  举报

导航