redis 存储java对象是json字符串进redis还是序列化

使用jackson和json-lib都可以
&dependency&
&groupId&org.codehaus.jackson&/groupId&
&artifactId&jackson-mapper-asl&/artifactId&
&version&1.9.13&/version&
&/dependency&
&dependency&
&groupId&net.sf.json-lib&/groupId&
&artifactId&json-lib&/artifactId&
&version&2.4&/version&
&classifier&jdk15&/classifier&
&/dependency&
JSONArray jsonarray = JSONArray.fromObject(result);
String js = jsonarray.toString();
JedisUtil.setString(key, js);
读缓存方法一:
String value=JedisUtil.getString(key);
if (value != null) {
ObjectMapper mapper = new ObjectMapper();
//如果是List&string&
return mapper.readValue(value, List.class);
//如果是List&Bean&
JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, User.class);
List&User& lst =
(List&User&)mapper.readValue(value, javaType);
读缓存方法一:
String jsonString=...
ObjectMapper mapper = new ObjectMapper();
List&User& beanList = mapper.readValue(jsonString, new TypeReference&List&User&&() {});
本文已收录于以下专栏:
相关文章推荐
import java.io.UnsupportedEncodingE
import java.util.ArrayL
import java.u...
Redis 存储支持的类型没有object ,虽然有支持list,但是只支持List
有两种方法可以实现存储对象和泛型
1.用序列化和反序列化
序列化工具类,实现序列化和反序列话对象...
业务需求,要将数据在redis中hashmap的形式存下来,及
map中的value也是一个map即map2
map2中的value也是一个map即map3
参考:http://lumingfeng.xyz       想在windows下使用熟悉一下redis,首先在它的github上下载压缩包:/dmajkic/re...
一、操作string 、list 、map 对象
1、引入jar:
jedis-2.1.0.jar
     * @param args
    &...
如果需要用到Redis存储List对象,而list又不需要进行操作,可以按照MC的方式进行存储,不过Jedis之类的客户端没有提供API,可以有两种思路实现:
1.      分别序列化 eleme...
1.在不使用Redis的情况下; 
 我们一般从数据库中查到数据,然后放进List,或者是User,然后使用java的框架,放数据到指定位置。
或者是从数据库中查到数据,放到List,然后拼接js...
jackson list map
最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery easy ui,项目架构为spring mvc + spring jdbc,简单易用好上手!搭建好框架后开始了第一个任务,设计并实现...
先说 存储的结构: 
这里做了两块缓存  绿色是存储索引的缓存  黑色是存数据的缓存
翻页时需要两个参数  向上查询/或向下查询    还一个是   从第二页开始查询时需要一个索引的参数
有了这两...
他的最新文章
讲师:汪剑
讲师:刘道宽
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)2017年6月 总版技术专家分月排行榜第三
2017年9月 .NET技术大版内专家分月排行榜第一2017年8月 多媒体开发大版内专家分月排行榜第一2017年8月 .NET技术大版内专家分月排行榜第一2017年7月 多媒体开发大版内专家分月排行榜第一2017年7月 .NET技术大版内专家分月排行榜第一2017年6月 .NET技术大版内专家分月排行榜第一2017年5月 多媒体开发大版内专家分月排行榜第一2017年4月 多媒体开发大版内专家分月排行榜第一2016年1月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年10月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年6月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年3月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2015年1月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年12月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年11月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年10月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年9月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年8月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一2014年7月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第一
2013年5月 总版技术专家分月排行榜第一
2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2016年7月 总版技术专家分月排行榜第二2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。
在使用Redis中,将对象序列化以Json方式写入Redis的方法:
基本推荐使用JdkSerializationRedisSerializer和StringRedisSerializer,因为其他两个序列化策略使用起来配置很麻烦,如果实在有需要序列化成Json和XML格式,可以使用java代码将String转化成相应的Json和XML。
1:使用Spring-data-Redis提供的接口JacksonJsonRedisSerializer
jackson-json工具提供了javabean与json之间的转换能力,可以将pojo实例序列化成json格式存储在redis中,也可以将json格式的数据转换成pojo实例。因为jackson工具在序列化和反序列化时,需要明确指定Class类型,因此此策略封装起来稍微复杂。需要jackson-mapper-asl工具支持
使用jackson提供的库,将对象序列化为JSON字符串。优点是速度快,序列化后的字符串短小精悍。但缺点也非常致命,那就是此类的构造函数中有一个类型参数,必须提供要序列化对象的类型信息,通过查看源代码,发现其只在反序列化过程中用到了类型信息。
2:使用Spring-data-Redis提供的接口JdkSerializationRedisSerializer
数据格式必须为json或者xml,那么在编程级别,在redisTemplate配置中仍然使用StringRedisSerializer,在存储之前或者读取之后,使用“SerializationUtils”工具转换转换成json或者xml。
使用JDK提供的序列化功能。 优点是反序列化时不需要提供类型信息(class),但缺点是序列化后的结果非常庞大,是JSON格式的5倍左右,这样就会消耗redis服务器的大量内存.
本文已收录于以下专栏:
相关文章推荐
在项目中需要用到redis做缓存,于是采用spring-data-redis,并且打算自己封装一个redis的静态工具类。后来在进行单元测试的过程中发现了一个容易出错的地方,于是打算记录下来,并分享给...
首先要在pom.xml里添加Protobuf的jar包
com.dyuproject.protostuff
protostuff-core
以下是RedisTemplate的部分代码片段:
if (defaultSerializer == null) {
defaultSerializer = new JdkSerializati...
GenericToStringSerializer: 可以将任何对象泛化为字符串并序列化
Jackson2JsonRedisSerializer: 跟JacksonJsonRedisSeria...
由于每个字符串类型键只能存储一个字符串,而一篇博客文章是由标题、正文、作者与发布时间等多个元素构成的。为了存储这些元素,我们需要使用序列化函数(如serialize)将它们转换成一个字符串。除此之外,...
redis存储方式有很多种,但是我个人觉得最好用的并非是String存储类型,而是Hash存储类型,如果在使用redis的时候单纯的只使用到String存储类型的话,我个人觉得完全体现不了redis的...
最近了解到 redis能够保存字节流,并声称字节流安全,  所以突发奇想, 如果讲对象序列化保存的 效果怎么样呢,之前我们是使用fastjson将 对象 序列化成JSON串, 然后保存进入re...
redis不支持直接将java对象存储到数据库中,所以需要将java对象进行序列化得到字节数组,然后将字节数组存入到redis中,需要数据的时候就从redis数据库中取出字节数组,再经过反序列化将自己...
他的最新文章
讲师:汪剑
讲师:刘道宽
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 redis json字符串 的文章

 

随机推荐