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

发布于 2021-11-29 13:19:50 字数 26 浏览 693 评论 9

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

巡山小妖精 2021-12-02 07:04:48

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

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

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

清风夜微凉 2021-12-02 06:40:33

 介绍你看我的一篇博客  
http://my.oschina.net/yuyidi/blog/499951     

霞映澄塘 2021-12-02 06:08:36

当然是json string ,序列化以后的对象,如果源对象的属性有修改,那么反序列化的时候就会报错。

水水月牙 2021-12-02 05:52:02

首先Json就序列化的一种,不过是可读的文本不是二进制的。再者这里猜想问题是否是该用redis的hash还是String来存储

梦中楼上月下 2021-12-02 03:17:36

json也是序列化的一种嘛。当然也可以选择kyro,protobuf,hessian等。使用这些序列化方式而不是各语言内建的序列化机制的一个好处是,可以支持使用不同的编程语言进行修改或者读取。同时,就java而言,内建的序列化机制在时间和空间上相比json都没有啥优势

醉酒的小男人 2021-12-02 02:22:26

如果是数据完全可以使用JSON方式。毕竟redis直接set、get使用起来门槛低很多。redis是没有提供专用的设置对象方法,需要自己进行改写。如果是担心JSON转对象会消耗资源的情况,这个问题需要考量几个地方,第一点:就是使用的JSON转换lib是否就会存在性能问题。第二点:就是数据的数据量级别,如果是存储百万级的大数据对象,建议采用存储序列化对象方式。如果是少量的数据级对象,或者是数据对象字段不多,还是建议采用JSON转换成String方式。毕竟redis对存储字符类型这部分优化的非常好。具体采用的方式与方法,还要看你所使用的场景。

归途 2021-12-01 18:16:05

能用JSON就用JSON。可以将JSON转换成String进行存储。

冷弦 2021-11-30 01:30:24

当然序列化好一些,json再转回对象时也是要消耗资源的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文