如何缓存(核心)API请求?

时间:2017-03-27 作者:Chris

我目前正在试用Wordpress内置的新(截至2017年)核心API。我的设置相当简单:

 +---------+    +------+    +---------+
 |Wordpress|<-->|Guzzle|<-->|   App   |
 |(API)    |    +------+    |(PHPSlim)|
 +---------+                +---------+
Guzzle将通过本地环回运行(/etc/hosts设置为将api视为本地资源)。

WP缓存空间中的主要参与者(WP超级缓存、W3等)似乎没有围绕API做任何事情。我的理解是,它们本质上是创建呈现页面的快照,并跳过任何php(包括db调用)以供将来的请求。

所以

问题是,是否可以对WP中的API调用应用一定级别的缓存?该站点相当静态,因此理想情况下,我不想为每个请求ping数据库。

我检查了WP返回的标头,没有缓存指示器。我也考虑过使用wp\\u缓存函数或wp\\u瞬态函数,但两者似乎都是对其功能的滥用。

标题:enter image description here

3 个回复
SO网友:Celso Bessa

WP Rest API有一个名为。。。WP Rest API Cache:

我把它用于小项目,并给了我很多帮助。

SO网友:Mark Kaplun

这是一个API。。。。在执行$i++时,是否希望获得过时的缓存结果?我想不是。

缓存应该在API的用户端完成,因为只有它才能知道可以容忍的陈旧程度。

这并不是说你应该避免wordpress端的任何类型的缓存,但请记住,缓存失效是一件很棘手的事情。最安全的方法是使用对象缓存,在任何严重的wordpress部署中都应该使用对象缓存。

SO网友:samjco

我认为下面这一条实际上更好:

https://github.com/airesvsg/wp-rest-api-cache

相关推荐

如果POST太长,WP REST API返回空白响应

我正在开发一个iOS应用程序,它需要使用WP Rest API来获取帖子。一切都很顺利,我使用此端点按ID获取帖子:https://example.com/wp-json/wp/v2/posts/12345 大多数情况下,API都会按预期返回帖子,但如果文章长度超过1300字左右,则会返回空响应。我所说的空是指页面将完全为空,甚至没有404状态码或空数组[]。它确实返回代码200,这意味着一切看起来都很好,但响应为空。从我的疑难解答来看,空白回复的原因似乎是因为帖子的字数太多。我有没有办法更新W