使用redis缓存对象,该选择json还是序列化呢。

使用redis缓存对象,该选择json还是序列化呢。

 

 

0
 
 
蕃薯哥哥
蕃薯哥哥 

如果对这个对象只有存取的操作,最好使用json。

如果在对象被缓存期间有对属性的操作,比如购物车,可能会更改购买数量,这时候最好使用map,不然你存json需要先取出来再修改再存储,很耗性能。

怎么使用map可以参考楼上的帖子。

 
 
0
 
 
盲人摸象
 
 
0
 
 
薛定谔的大鹿
薛定谔的大鹿 
当然是json string ,序列化以后的对象,如果源对象的属性有修改,那么反序列化的时候就会报错。
 
 
0
 
 
googlespot
googlespot 
首先Json就序列化的一种,不过是可读的文本不是二进制的。再者这里猜想问题是否是该用redis的hash还是String来存储
 
 
0
 
 
亭舸翁
亭舸翁 
json也是序列化的一种嘛。当然也可以选择kyro,protobuf,hessian等。使用这些序列化方式而不是各语言内建的序列化机制的一个好处是,可以支持使用不同的编程语言进行修改或者读取。同时,就java而言,内建的序列化机制在时间和空间上相比json都没有啥优势
 
 
0
 
 
B
boonbai 
如果是数据完全可以使用JSON方式。毕竟redis直接set、get使用起来门槛低很多。redis是没有提供专用的设置对象方法,需要自己进行改写。如果是担心JSON转对象会消耗资源的情况,这个问题需要考量几个地方,第一点:就是使用的JSON转换lib是否就会存在性能问题。第二点:就是数据的数据量级别,如果是存储百万级的大数据对象,建议采用存储序列化对象方式。如果是少量的数据级对象,或者是数据对象字段不多,还是建议采用JSON转换成String方式。毕竟redis对存储字符类型这部分优化的非常好。具体采用的方式与方法,还要看你所使用的场景。
 
 
0
 
 
B
boonbai 
能用JSON就用JSON。可以将JSON转换成String进行存储。
 
 
0
 
 
兰儿飞飞
兰儿飞飞 
当然序列化好一些,json再转回对象时也是要消耗资源的
 
转 https://www.oschina.net/question/228694_2151535?sort=time
posted @ 2022-01-12 17:03  dreamw  阅读(2029)  评论(0编辑  收藏  举报