Doctrine 2缓存工作流程

时间:2011-01-30 05:16:39

标签: caching doctrine-orm

我不熟悉缓存

  • 我应该缓存什么
    • 例如。我是否缓存用户信息?例如。因为它们经常在整个应用程序中使用(例如标题中写着“welcome {username}”)?
    • 但大多数事情应该经常使用?例如。用户有项目。这些项目并不属于每个人,但是特定用户会经常使用这些项目吗?那么我几乎不会缓存一切吗?
  • 关于CRUD,使用doctrine查询,我可以使用$query->useResultCache(true)但是当我更新/删除实体时会发生什么?我还需要以某种方式更新我的缓存?如何?

1 个答案:

答案 0 :(得分:2)

缓存的基本原则是保存在内存中不经常更改的常用数据,以减少数据库工作。

使用php会话变量更方便地保存基本的东西,如用户名。

如果是项目,如果它们不经常更改,并且经常被用户检索,那么缓存它们是个好主意。项目信息保持缓存的时间取决于更改频率。

另请注意,如果您向用户提供的信息至关重要或时间非常重要,则应谨慎使用缓存。

查看此参考页以获取有关缓存http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#cache-related-api

的基本信息

或查看http://www.doctrine-project.org/docs/orm/2.0/en/reference/caching.html以获取详细说明。