Caching 原则2缓存:我可以将缓存与Repository::find*()一起使用吗?

Caching 原则2缓存:我可以将缓存与Repository::find*()一起使用吗?,caching,doctrine-orm,Caching,Doctrine Orm,我不熟悉缓存。从文档中,我可以对查询使用缓存,但是像这样的方法呢 $em->find('Application\Models\project', 1); 如果你在寻找一个自动装置,我认为awnser是不,他们不是这样的东西。我自己也在寻找这样的东西。您可以将find(…)包装在服务类getProjectById($id)的方法中,并自行在该方法中进行缓存。但是,您还需要一个save()方法,以便在刷新后清除特定id的缓存。正如Christian所指出的,您可以自己进行查询缓存,而需要清除

我不熟悉缓存。从文档中,我可以对查询使用缓存,但是像这样的方法呢

$em->find('Application\Models\project', 1);

如果你在寻找一个自动装置,我认为awnser是不,他们不是这样的东西。我自己也在寻找这样的东西。您可以将find(…)包装在服务类getProjectById($id)的方法中,并自行在该方法中进行缓存。但是,您还需要一个save()方法,以便在刷新后清除特定id的缓存。

正如Christian所指出的,您可以自己进行查询缓存,而需要清除缓存


另一个注意事项是,我发现自己正在浏览EntityRepository类。find()方法将根据id检查标识映射,因此,如果在同一请求中对同一实体执行两次find()调用,则原则应返回Web服务器内存中的后续命中。

或者您当然可以对find请求进行查询。也很简单。