缓存XML文件的最佳方式

问题描述:

我有一个网站,它连接到14-17个xml流,并在每次页面加载时下载流。对于测试目的和交通流量为100日/天,这是很好的。缓存XML文件的最佳方式

但是,现在当页面加载速度越来越慢,因为我需要等待外部XML下载时,它才会进入阶段。

缓存/处理这些文件的最佳方式是什么?这些数据正在不断更新,因此,而不是每次访问都下载XML流,我希望有一些机器人每5分钟在本地进行一次操作,访问者只能从本地副本读取。

您将使用哪些方法来确保XML文件不会被锁定,或者在下载新结果时没有零结果?

谢谢。

一种选择是使用memcached的。你可以在那里缓存xml数据,并设置一个5分钟到期的时间,并让你的页面从memcached中加载数据。

另一个选项(更容易设置或者如果你没有RAM备用)将存储下载的数据在关系数据库中,而不是在页面加载。然后让你的页面从那里加载数据。

+0

+1:memcached是要走的路。 – rsenna 2010-10-17 23:10:17

+0

所以基本上我不需要改变代码?我是否需要更改提供商的地址?或者我需要一些memcached C#库/客户端?如果源服务器处于脱机状态,谢谢 – feronovak 2010-10-17 23:25:42

+0

数据是否可用? – feronovak 2010-10-17 23:50:35

我可能会将数据存储在memcached中,并在每次下载后更新数据。即使文件不在磁盘上,您也会始终拥有可用的数据,并且磁盘I/O的数量会比直接从文件中直接读取的数量少,这将显着提高性能。

对于C#我觉得这是你需要的库:http://sourceforge.net/projects/memcacheddotnet/

+0

如果源服务器处于脱机状态,数据是否可用? – feronovak 2010-10-17 23:50:07

+0

你可以配置memcached来保存数据,只要你喜欢,所以当然可以。 – 2010-10-17 23:57:48