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


Creating static file on postPersist and postUpdate Entity in Symfony2

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

场景:

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

我只是想从你们那里知道这是正确的方法。还有其他方法吗???

在这种情况下,使用监听器是完成这项工作的好解决方案。

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

你们照看缓存系统了吗?就像清漆用于文件缓存或memcached用于将数据存储到RAM中。

您可以查看Sf2 LeaseWeb/Memcached 的捆绑包

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