2011-01-30 54 views
1

我是新来的缓存学说2缓存工作流程

  • 我应该缓存
    • 如。我缓存用户信息吗?例如。因为它们在整个应用程序中经常使用(比如在标题中写着“welcome {username}”)?
    • 但是大多数东西应该使用相当频繁吗?例如。用户有项目。这些项目不属于每个人,但是他们会被特定用户频繁使用吗?我是否也会缓存它们?那么我会不会缓存几乎所有的东西?
  • 同样关于CRUD,与教条查询,我可以只使用$query->useResultCache(true)但是当我更新/删除实体时会发生什么?我需要以某种方式更新我的缓存呢?怎么样?

回答

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了详细的解释。