用于缓慢且不可靠服务的客户端Web服务缓存策略

时间:2011-02-17 14:18:48

标签: php web-services api caching

我正在试图找出缓存缓慢且不可靠服务的最佳方法。现在,每次服务发生故障时,所有页面请求都会花费很长时间,因为缓存永远不会被填充,并且每次都会查询服务。该服务不提供对页面至关重要的数据。我应该如何缓存它以使其适合我?

我认为这不重要,但我使用的是PHP 5,而且服务是SOAP。

3 个答案:

答案 0 :(得分:0)

我将序列化()收到的数据结构并将其写入文件。

如果PHP应用程序请求新数据,我将从文件中反序列化()数据并直接返回。经过一段时间后,下一个请求会从远程重新加载资源,并再次将序列化()重新加载到文件中。

<强>更新

如何在每个相关页面中注入 up-front 一些默认的Json数据,如果服务没有足够快地回复,那么客户端将其用作回复? / p>

答案 1 :(得分:0)

我正在为php实现一个web服务缓存。

这不是火箭科学。所有需要的是持久性(我选择sqlite,因为访问sqlite文件比使用“普通”文件更快.RAMdisk可能更快)和一个简单的类或函数来控制对持久性的读写访问。

使用文件而不是调用服务可以节省大约95%的时间:)

答案 2 :(得分:0)

五年后,Netflix用他们非常有用的“Hystrix”库解决了这个问题。

https://github.com/Netflix/Hystrix