在Symfony2中的postPersist和postUpdate实体上创建静态文件

时间:2013-12-06 11:26:17

标签: php mysql symfony menu symfony-2.3

我想在Admin中完成持久化或更新等操作时创建静态twig文件。我在想的是创建一个名为GenerateStaticListener的监听器。监听器将监听事件postPersist或postUpdate并调用自定义函数。 Custom函数将从数据库中获取项目并将其写入html文件,然后我将twig文件(html文件)包含到我的布局中。这样做的目的是生成一个html文件(即twig),以便从数据库查询中获取项目不会在数据库上一次又一次地命中并提供更好的性能。

情境:

我网站的“菜单”部分包含大量项目。取件将从多个表格中完成,并且将触发大约10个查询以获取项目。限制将缺乏页面性能和用户体验。菜单部分就像mashable.com

我只是想向你们了解哪种方法是正确的。 任何其他方法???

1 个答案:

答案 0 :(得分:1)

在这种情况下,使用侦听器是做这项工作的好方法。

但是创建静态文件并不是最好的方法。你会遇到写访问,位置等问题......

您是否关注缓存系统?就像用于文件缓存的清漆或用于将数据存入RAM的memcached一样。

您可以查看此捆绑包以获取Sf2 LeaseWeb/Memcached

有了这个,您的控制器将从RAM而不是从磁盘(BDD)获取数据,速度提高10倍或更多。