Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我应该在内存中缓存一个600KB的xml文件吗?或者仅仅使用XMLTextReader就足够了?_.net - Fatal编程技术网

.net 我应该在内存中缓存一个600KB的xml文件吗?或者仅仅使用XMLTextReader就足够了?

.net 我应该在内存中缓存一个600KB的xml文件吗?或者仅仅使用XMLTextReader就足够了?,.net,.net,我不确定是否应该缓存我的应用程序将要使用的xml文件。我不知道它读取xml文件的频率。请给我一些建议。谢谢。视情况而定。如果内存不是问题,但性能是问题,那么使用XmlReader读入结构并存储它。这样就不需要再次解析它。如果读者不经常阅读,那就不用麻烦了。Xml解析并不便宜。600KB不会破坏内存库,但您必须处理缓存设置,但它值得获得性能优势,特别是如果您对其进行任何转换或模式验证 如果这是一个网站,则将其存储为静态文件 公共静态XmlReader 这样,它就可以在所有会话中共享 这是一个“视情

我不确定是否应该缓存我的应用程序将要使用的xml文件。我不知道它读取xml文件的频率。请给我一些建议。谢谢。

视情况而定。如果内存不是问题,但性能是问题,那么使用XmlReader读入结构并存储它。这样就不需要再次解析它。如果读者不经常阅读,那就不用麻烦了。Xml解析并不便宜。600KB不会破坏内存库,但您必须处理缓存设置,但它值得获得性能优势,特别是如果您对其进行任何转换或模式验证

如果这是一个网站,则将其存储为静态文件

公共静态XmlReader

这样,它就可以在所有会话中共享

这是一个“视情况而定”的答案

  • 您从缓存中受益吗?速度差够大了吗?添加足够的可伸缩性?等等
  • 文件是否经常更改?这更多的是一个“缓存多长时间”的问题
  • 人们是否需要即时访问更改
  • 我认为使用缓存的600kb XML文件不会带来太多好处。它相当小。除非……反复访问相同的数据,否则不缓存可能会影响可伸缩性


    简短的回答是:我对您的应用程序了解不够,无法给您一个简单的答案。

    读取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文件有很大的好处,因为我的应用程序经常使用该文件中的数据。解析它比使用它需要更长的时间,因此如果您经常使用它,减少解析部分将产生真正的不同。