我使用Symfony框架和Redis作为缓存。我的控制器从第三方API获取信息,创建php对象并将它们放到Twig模板中。在Redis中缓存渲染的HTML是否是一个好的决定?也许更好的序列化对象并保存它们?在最后一种情况下,服务器将花时间进行反序列化和模板化,但我觉得在第一种情况下有一些不那么漂亮的东西。
谢谢。
答案 0 :(得分:0)
为此使用像Varnish这样的反向代理缓存,专为此类目的而设计。它具有强大的缓存失效方法,这是处理缓存时头痛的主要原因。
如果您使用redis,每个请求仍然会影响您的应用程序,导致整个DI容器被加载,直到您的事件(或您使用的任何方法)处理请求,检查它是否是redis以及它是否仍然有效并交付。
如果您的应用仅在需要新内容时受到影响,则使用反向代理缓存。
正如在评论中所说,像redis这样的系统可以是某种"中间"缓存,你可以在其中存储Api结果或内部沉重但不是这样"更改"计算以提高整体表现。