缓存JSON字符串或对象树是否更好?

时间:2014-10-15 19:31:29

标签: c# .net json caching

我正在寻找有关一般问题的提示:如果我正在进行返回JSON字符串的Web服务调用,并且我希望将响应缓存几分钟,因为它们可能会多次重复使用,我是否缓存JSON字符串或反序列化的对象树?

假设JSON字符串在内存中为400-4000kb,而具有JSON字符串子集的对象树在内存中为600-6000kb。字符串和树的垃圾收集会有所不同吗?

有很多关于大字符串在.net 2.0中永远保留在LOH中的恐怖故事 - 它们仍然与.net 4.0相关吗?

1 个答案:

答案 0 :(得分:1)

LOH问题(LOH碎片)不仅与字符串有关,它们与任何大小为85000字节的对象有关,因为它是对象放置在LOH上的触发点。它们仍然与.Net 4.0和4.5非常相关。

在回答您的问题时,我不会认为垃圾收集模式对于案例,字符串或树都是不同的。但是,在搜索术语中将其存储为树可能会带来性能优势;因为你有JSON字符串,所以我会缓存它,然后在第一次使用时创建树,此时树将保留到下次刷新。

有关LOH的更多信息,请参阅here.