将渲染的html存储在Redis中是否可以?

时间:2017-03-13 16:16:41

标签: php symfony redis twig

我使用Symfony框架和Redis作为缓存。我的控制器从第三方API获取信息,创建php对象并将它们放到Twig模板中。在Redis中缓存渲染的HTML是否是一个好的决定?也许更好的序列化对象并保存它们?在最后一种情况下,服务器将花时间进行反序列化和模板化,但我觉得在第一种情况下有一些不那么漂亮的东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

为此使用像Varnish这样的反向代理缓存,专为此类目的而设计。它具有强大的缓存失效方法,这是处理缓存时头痛的主要原因。

如果您使用redis,每个请求仍然会影响您的应用程序,导致整个DI容器被加载,直到您的事件(或您使用的任何方法)处理请求,检查它是否是redis以及它是否仍然有效并交付。

如果您的应用仅在需要新内容时受到影响,则使用反向代理缓存。

正如在评论中所说,像redis这样的系统可以是某种"中间"缓存,你可以在其中存储Api结果或内部沉重但不是这样"更改"计算以提高整体表现。