首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓存WSDL响应的有效方法

缓存WSDL响应的有效方法
EN

Stack Overflow用户
提问于 2013-02-03 03:20:29
回答 1查看 802关注 0票数 1

我的基于Java的web应用程序正在与远程WSDL web服务交互。

我构造了一个特定于服务的WSDL请求。我使用HTTP客户端发出这个WSDL请求,然后得到一个WSDL响应。

由于这对于我的环境是可接受的,为了优化性能和带宽使用,我希望缓存WSDL响应,以便下次发出相同的请求时,我的web应用程序可以直接从持久化数据库加载响应。

使用JAXB.marshalJAXB.unmarshal,我可以获得序列化的XML格式的响应表示和"Java object表示“。因此,我有了建立一个持久存储编组XML表示的数据库的想法。但是在我的例子中,典型响应的XML文件表示很容易就是200KB大小。正如我们对于XML文件所知道的那样,这个大小在很大程度上与XML的冗长有关,并且可能会大大减少,从而优化数据库容量使用和数据库读写速度。

有没有一种缓存和持久化WSDL响应的有效方法?也就是说,我正在寻找一种好方法来实现函数f(someWSDLRequest) -> someWSDLResponse的映射

EN

回答 1

Stack Overflow用户

发布于 2013-02-03 10:02:03

要缓存,您需要一个键和一个值。在这种情况下,值显然是来自SOAP服务的响应。

对于键,为什么不尝试将参数连接到一个字符串中(我以前见过很多次这样做),或者对请求执行MD5散列。它使缓存键变得小而简单,如果请求是相同的,缓存键将始终是相同的。

当一个请求进入时,你在缓存中有一个响应,为它服务。

如果它不存在,则从数据库中获取它,将其放入缓存中,然后提供服务。

如果底层对象发生了变化(缓存的响应),那么就让缓存失效,或者只是在缓存上加上一个过期时间,让它随时间发生。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14665539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档