C# 缓存JSON字符串还是对象树更好?

C# 缓存JSON字符串还是对象树更好?,c#,.net,json,caching,C#,.net,Json,Caching,我正在寻找有关一般问题的提示:如果我正在执行返回JSON字符串的web服务调用,并且我希望将响应缓存几分钟,因为它们可能会重复使用几次,那么我是缓存JSON字符串还是反序列化的对象树 假设JSON字符串在内存中为400-4000kb,包含JSON字符串子集的对象树在内存中为600-6000kb。字符串和树的垃圾收集会不同吗 在.net 2.0中,有一些关于大字符串永远留在LOH中的恐怖故事-它们仍然与.net 4.0相关吗?LOH问题(LOH碎片化)不仅与字符串相关,还与任何大小为85000字节

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

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

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

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

在回答您的问题时,我认为无论是字符串还是树,垃圾收集模式都不会有任何不同。但是,将其存储为搜索词中的树可能会带来性能优势;由于JSON字符串已从网络中释放出来,我将缓存该字符串,然后在第一次使用时创建树,此时树将保留到下次刷新

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