.net 我应该在内存中缓存一个600KB的xml文件吗?或者仅仅使用XMLTextReader就足够了?
我不确定是否应该缓存我的应用程序将要使用的xml文件。我不知道它读取xml文件的频率。请给我一些建议。谢谢。视情况而定。如果内存不是问题,但性能是问题,那么使用XmlReader读入结构并存储它。这样就不需要再次解析它。如果读者不经常阅读,那就不用麻烦了。Xml解析并不便宜。600KB不会破坏内存库,但您必须处理缓存设置,但它值得获得性能优势,特别是如果您对其进行任何转换或模式验证 如果这是一个网站,则将其存储为静态文件 公共静态XmlReader 这样,它就可以在所有会话中共享 这是一个“视情况而定”的答案.net 我应该在内存中缓存一个600KB的xml文件吗?或者仅仅使用XMLTextReader就足够了?,.net,.net,我不确定是否应该缓存我的应用程序将要使用的xml文件。我不知道它读取xml文件的频率。请给我一些建议。谢谢。视情况而定。如果内存不是问题,但性能是问题,那么使用XmlReader读入结构并存储它。这样就不需要再次解析它。如果读者不经常阅读,那就不用麻烦了。Xml解析并不便宜。600KB不会破坏内存库,但您必须处理缓存设置,但它值得获得性能优势,特别是如果您对其进行任何转换或模式验证 如果这是一个网站,则将其存储为静态文件 公共静态XmlReader 这样,它就可以在所有会话中共享 这是一个“视情
简短的回答是:我对您的应用程序了解不够,无法给您一个简单的答案。读取XML非常昂贵(性能),因此如果您经常访问这些数据,我会选择“缓存”“。如果你不经常打电话,我会说离开它,别担心。我怎样才能缓存它?”?我没有对它进行转换或验证。此文件只是一个数据存储库。我试图用下面的示例代码缓存它,但它没有被缓存//缓存XMLXmlReader=(XmlTextReader)HttpRuntime.Cache[MAP_KEY]作为XmlTextReader;if(xmlReader==null){xmlReader=newxmlTextReader(“C:\\Myxml.xml”);HttpRuntime.Cache.Insert(MAP_-KEY,xmlReader,null,Cache.noabsoluteexpntiation,Cache.NoSlidingExpiration,cacheitepriority.NotRemovable,null);}如果这是一个网站,请使用公共静态文件,以便在所有会话中共享。是的,这是我的问题:-)缓存600Kb的文件对我有好处吗?是的,我会反复点击相同的数据。。没有缓存可能会影响可伸缩性是什么意思?如果您经常使用它,您可能会受益匪浅。:)我发现缓存一个300KB的XML文件有很大的好处,因为我的应用程序经常使用该文件中的数据。解析它比使用它需要更长的时间,因此如果您经常使用它,减少解析部分将产生真正的不同。