我有一个PHP应用程序调用Web服务API来获取一些对象,然后再渲染包含这些对象的网页.在某些情况下,这些API非常慢(秒),从用户体验的角度来看,这是不可接受的.我知道我能做的两件事......
使用ajax并在后台进行这些调用
如果花费的时间过长,请将呼叫超时并优雅地降级
两者都不理想,所以我在考虑使用memcache(memcached的PHP扩展)来缓存我从第三方Web服务获得的对象.加载同一页面的不同用户将多次加载对象,因此这似乎有意义.
物体相对较小(~1k).
这听起来像是一种合理的方法吗?我知道memcached最初是为缓解数据库负载而设计的,所以我想知道是否有一个我没见过的地方.
谢谢.
这是memcache的完美合法用法.它不仅可以减少数据库负载,还可以用于缓存和对象存储.:)
另请注意,PHP有两个用于memcached的接口.令人困惑的是,它们被命名为" memcache "和" memcached ".阅读这些以在两者之间进行选择:
https://serverfault.com/questions/63383/memcache-vs-memcached
http://code.google.com/p/memcached/wiki/PHPClientComparison