这是后台,我有一个来自供应商/合作伙伴的web服务,它返回一个用于显示数据的大型XML文档。很简单。问题是该服务需要几分钟才能执行。供应商在一次方法调用中将整个规范化数据库作为XML文档返回,并且速度很慢。愚蠢的供应商,但我无法控制它。
我有两个问题:
我在哪里缓存它?磁盘,数据库,内存(我倾向于将它放在磁盘上。它太大而且没有足够的存储空间来存储在内存中。将它放在数据库中可能正确但我不想写ETL并在某处运行工作。)
如何缓存它?我不能让它过期并让下一个请求刷新缓存,因为它需要很长时间。我需要在缓存重建时提供过时的数据。我可以想到几种方法,但没有任何看似简单或非常优雅的方法。我想做一些简单的事情;我不是在寻找有史以来最好的工程解决方案。
这是我的计划......请告诉我,我是个白痴,并建议我更容易忽视的事情。
这听起来非常荒谬,必须有更好的方法。
我正在使用.Net和IIS6,如果需要,我可以将XML粘贴在SQL Server中。
答案 0 :(得分:0)
您可以创建新数据库和计划作业,以定期获取这些数据并将其存储到数据库中。然后,您可以直接从数据库而不是Web服务提供实际需要的数据。