2011-10-15 49 views
1

注意:对于我可怜的英语感到抱歉,我是法语,但我会尽量保持清晰。使用symfony2对ReadOnly doctrine2实体进行缓存结果

我正在用Symfony2进入Doctrine2。只是为了学习新东西而开发一款小游戏,并测试这些新的令人敬畏的工具。这里是我的交易:我想我保存游戏配置到数据库(如项目,竞赛信息等)从实体的方便语法受益:

$user->getRace()->getName(); 

点是“种族”或“项目“信息不可能改变。我发现了@ReadOnly实体注释,它告诉Doctrine在第一次插入后不要检查这些实体中的更新。 我想知道如果你知道一种'透明'的方式(我的意思是说它对我来说)缓存这些结果,以防止每次检索我的用户信息时无用的连接。

回答

4

只有@ReadOnly注释所做的事情是它告诉Doctrine不要在刷新时更新实体。事件如果被更改,则不会更新。

所以它与查询无关。

如果你想缓存Race或Item对象,你应该使用result cache。它使您能够缓存任何查询的结果。

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

+0

好的非常感谢你的帮助。我将为Doctrine2跟踪器提交一个改进,然后我会尝试自己现在实现注释。 – Joseph

相关问题