Caching 具有symfony2的只读doctrine2实体的缓存结果

Caching 具有symfony2的只读doctrine2实体的缓存结果,caching,doctrine-orm,symfony,Caching,Doctrine Orm,Symfony,注:对不起,我的英语很差,我是法国人,但我会尽量说清楚 我正在和Symfony2一起学习博士2。只是为了好玩而做一个小游戏来学习新东西和测试这些新的很棒的工具。这是我的交易:我想将我的游戏配置存储到数据库中(如项目、比赛信息等),以受益于实体的便捷语法: $user->getRace()->getName(); 关键是“比赛”或“项目”信息不太可能改变。我发现@ReadOnly实体注释告诉Doctrine在第一次插入后不要检查这些实体中的更新。 我想知道你是否知道一种“透明”(我是

注:对不起,我的英语很差,我是法国人,但我会尽量说清楚

我正在和Symfony2一起学习博士2。只是为了好玩而做一个小游戏来学习新东西和测试这些新的很棒的工具。这是我的交易:我想将我的游戏配置存储到数据库中(如项目、比赛信息等),以受益于实体的便捷语法:

$user->getRace()->getName();
关键是“比赛”或“项目”信息不太可能改变。我发现@ReadOnly实体注释告诉Doctrine在第一次插入后不要检查这些实体中的更新。 我想知道你是否知道一种“透明”(我是说doctrine为我做的)缓存这些结果的方法,以防止每次我检索用户信息时出现无用的连接。

@ReadOnly annotation唯一做的事情是告诉doctrine不要在刷新时更新实体。事件如果已更改,则不会更新

因此,它与查询几乎没有关系

如果要缓存竞赛或项目对象,应使用。它使您能够缓存任何查询的结果

为了使其更易于使用(并可重用),您可以实现自定义注释,这将使被引用实体的查询自动使用结果缓存。

@ReadOnly annotation所做的唯一一件事是它告诉Doctrine不要在刷新时更新实体。事件如果已更改,则不会更新

因此,它与查询几乎没有关系

如果要缓存竞赛或项目对象,应使用。它使您能够缓存任何查询的结果


为了使其更易于使用(和重用),您可以实现自定义注释,这将使被引用实体的查询自动使用结果缓存。

好的,非常感谢您的帮助。为此,我将提交Doctrine2 tracker的改进,现在我将尝试自己实现注释。好的,非常感谢您的帮助。为此,我将提交Doctrine2 tracker的改进,现在我将尝试自己实现注释。