Symfony2 Twig和Controller缓存

时间:2015-09-24 06:31:18

标签: symfony caching controller twig

关于缓存的环境有问题。 当我修改了Twig时,我在DEV上查看了这个修改,我需要清除缓存,以便在Prod上看到这个更改。这是对的。 但是当我修改一个Controller时,我在DEV和PROD上也看到了这个修改,没有清除缓存。 我在文件上有这个配置: app.php $ kernel = new AppKernel('prod',false); app_dev.php $ kernel = new AppKernel('dev',true);

2 个答案:

答案 0 :(得分:0)

如果您将 symfony 2.4 + Sensio Framework 3.0 + 一起使用,您可以尝试通过image.setImageResource(ListActivity.image_items[Integer.parseInt(data1.get(position))]); 注释直接在控制器上设置缓存策略如下:

YourController

@cache

您可以管理满足您需求的cache attributes。据我所知,无法为prod env完全禁用控制器的缓存策略。

答案 1 :(得分:0)

实际上,使用DEV环境可以保证您的修改将立即应用。如果某些内容被缓存并且您已在这些缓存文件中进行了一些更改,则会重新生成缓存而无需其他操作。

即。使用DEV环境只是免除了运行缓存的必要性:在每次更改代码后都清除,这就是全部。

但这并不意味着所有代码都会被缓存,您可以在PROD上对代码进行任何更改。您可能依赖缓存并期望在重新生成缓存之前不会进行更改。

控制器通常根本没有缓存,因此当然可以立即看到所有对prod控制器的修改。