何时缓存来自Web服务的结果?

时间:2011-02-18 19:16:11

标签: web-services asp.net-mvc-2 caching

在我的网络应用程序的一个部分中,我从http://www.geonames.org/(网络服务方法)和http://data.un.org/(我们的应用程序中存储的xml文件)获取信息

我是新手,我的问题是:

  1. 何时缓存来自地理名称的信息?
  2. 缓存使用什么方法?
  3. 如果我缓存xml文件或者性能相同,那没关系?
  4. 我使用ASP.NET MVC 2 C#

1 个答案:

答案 0 :(得分:0)

缓存是一种提高性能的方法,只有当前性能不可接受时才考虑它,否则无需担心。

您可以缓存数据的一种方法是设置一个数据库表,其中包含CLOB字段,存储日期的时间以及用于标识对象的字段(例如用于获取的Web服务参数)这个对象)。

您必须确定一个使旧对象到期的策略,例如,您可以设置一个每天运行的查询,该查询将删除超过一周的所有对象。这是一个示例,我无法告诉您缓存的时间长短,这取决于您可以保留的数据大小以及更新频率。

更详细地提出您的问题:

0.1。何时缓存来自地理名称的信息?

我不确定我是否理解正确,但通常情况下:你会查找缓存中的值,如果发现你从缓存中返回,如果找不到你进行服务调用并存储结果在缓存中。

0.2。用于缓存的方法是什么?

我已经用SQL表解释了一种方法,你也可以使用文件,但它更复杂。

0.3。如果我缓存xml文件或性能相同,那就没关系了?

无论您决定缓存,处理还是未处理(XML)信息,从性能的角度来看,它都不会有太大变化,因为最大的延迟是从网络获取信息,而不是处理它。