php - Symfony2 从数据库加载设置

标签 php database caching symfony settings

我有一个数据库表(原则实体),用于存储我的应用程序的一些可编辑设置,例如页面标题、维护模式(开/关)和其他一些东西。

我可以使用实体管理器和存储库正常加载设置,但我认为这不是最好的解决方案......

我的问题是: - 我可以在某些内核事件中只加载一次设置,然后像访问保存在 yml 配置文件中的任何其他设置一样访问它们吗?

  • 我怎样才能缓存数据库设置,这样我就可以只执行一个数据库查询,然后在以后的页面请求中,它将使用缓存的值,而不是为每个页面请求执行一个数据库查询? (当然,每次我在设置中更改某些内容时,我都需要清除缓存,以便新设置生效)

最佳答案

LiipDoctrineCacheBundle提供围绕 Doctrine 的公共(public)缓存(documentation)的服务包装器,允许您使用多个缓存驱动程序,如文件系统、apc、memcache,...

我建议从 bundle-extension 中的数据库加载您的通用容器参数/设置(如维护模式,...)或 compiler-pass .

特定于路线的设置(如页面标题,...)可以加载到 kernel event listener 中.您可以找到内核事件列表 here .

使用学说 postUpdate/postPersist/postRemove 更新/使缓存失效 listener .

关于php - Symfony2 从数据库加载设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18785392/

相关文章:

php - 如何做 MySQL Join 并使用 PHP 获取值

javascript - 在 javascript 中访问响应 Json 数据

php - 如何防止弄错ID

Mysql 表是只读的。权限、所有者已设置

sql - 计算所有 child 都属于特定类型的 parent 类型

sql - 使用 ORM 进行大容量数据库更新

javascript - 通过 AJAX 调用获取 PHP 变量到 jquery 脚本文件

php - 如何禁用缓存 100%

php - 在 PHP 中缓存变量

javascript - 在 ZEND 中缓存 Javascript 文件和 CSS