首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓存JSON字符串与Java对象

缓存JSON字符串与Java对象
EN

Stack Overflow用户
提问于 2014-03-10 06:57:30
回答 1查看 2.8K关注 0票数 1

在我的一个web服务中,我使用memcached缓存结果。我可以缓存结果json或源对象。但是,如果缓存源对象,则必须在发送结果之前每次将其转换为json (我在代码中这样做,因为我使用json视图来动态限制少数列)。如果缓存JSON字符串(相当大),只需返回它。我的问题是,JSON字符串会比java对象消耗更多内存吗?还是缓存JSON字符串不是一个好主意?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-10 10:15:50

如果通过memcache缓存源对象,则必须序列化和反序列化源对象。这是很大的开销。因此,缓存JSON对象更快。

在这方面,有两点建议:

避免字符编码:如果可能的话,将JSON对象存储为字节数组,而不是字符串或char数组,然后通过HttpResponse.getOutputStream(json)返回。这样,您还可以绕过其他字符编码。

缓存整个响应:如果JSON是REST查询的结果,那么最好是通过应用程序前面的缓存服务器(例如,清漆、nginx、apache流量服务器)缓存完整的请求。只要把正确的http缓存头放在上面,你就没事了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22293873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档