使用Symfony2进行API缓存

时间:2016-03-15 16:24:23

标签: symfony caching

如何缓存使用Symfony构建的API响应?

我开始深入研究FosCacheBundle和SymfonyHttpCache,但我不确定我的用例。

您只能在标头中使用令牌访问API,并且每个用户在其响应中为所调用的相同URL获取相同的数据(并使用相同的GET参数)。

我想为每个网址添加一个缓存条目(包括获取参数) 并且,是否可以在我的缓存系统处理请求之前重新排序我的GET参数(以便系统不为“URL?foo = bar& foz = baz”和“URL?foz = baz& amp;”创建多个缓存条目。 foo = bar“返回相同的数据”

1 个答案:

答案 0 :(得分:1)

有很多方法。

但最简单的是:

如果最大的问题是数据库访问,而不仅仅是缓存memcache或类似的编译结果将会有很长的路要走。另外,这样您就可以坚持已经正常运行的身份验证。

在当前的控制器操作中,在身份验证之后和创建有效负载之前,检查memchache中是否有条目。如果不是,则构建有效负载并将其保存到memcache中而不是返回它。当下一个请求出现时,将不会有DB访问,因为它将从memcache返回。只是不要忘记刷新缓存,无论你经常需要它。

注意: "早期优化是所有邪恶的根源"和#34;服务器比程序员小时便宜#34;是要牢记的事情。如果您不需要,不要使用非常先进的缓存方法使您的生活复杂化。