【求助】关于redis的一个小功能,如何实现?纠结中。。。。。

上帝爱众生 发布于 2015/10/21 17:29
阅读 468
收藏 1

我想将一个从数据库查询拿到的结果集List<Object>存储进redis缓存中,然后设定过期时间,这样下次再想得到这个结果集就不用查询数据库了,降低了系统的压力

问题是我拿到了一个List对象如何存储进redis?我用的是spring-data-redis,

我的想法是如果从mysql取出list,就遍历list将一个个对象存入redis,可是存入的对象要序列化,有很多人选择用json,也有传统的io流进行序列化,究竟哪个更好一些?还有redis可以直接序列化一整个list对象存入redis吗?

加载中
0
盲人摸象
盲人摸象
如果数据变化不大的情况,可以直接json序列化后存储,如果数据经常变化,此时就应该将pojo单独hash存储,然后将key放到list中,最后通过redis的管道 返回。 给你看我的博客,
上帝爱众生
上帝爱众生
好的,谢谢了,刚开始学,刚刚做了个从redis取出一个list(放的全都是json字符串)的操作,然后又for循环解析拿出的json字符串,装换成需要的实体类对象,不过不知道这样做好不好
0
盲人摸象
盲人摸象
http://my.oschina.net/yuyidi/blog/499951  刚才忘了发表我的博文地址
0
盲人摸象
盲人摸象
刚才给你解释了看场景,好好揣摩吧。
0
皮皮狗
是支持直接存入list的 序列化建议pojo方便操作
0
ydx2008
ydx2008
用java自带的序列化功能可直接对List序列化为字节数据,然后存入到redis;从redis取出来的数据,可以直接反序列化为List对象。操作上比较方便,只是效率不是很高
上帝爱众生
上帝爱众生
我是用的gson存储的,取出也是直接用gson转成的list,不知道这样做效率高不高
0
char1st
char1st

用这个http://msgpack.org/ 吧

java自带的序列化功能不是很好。
返回顶部
顶部