如何仅对特定控制器操作禁用对Redis的实体缓存?

时间:2019-01-21 14:43:20

标签: php symfony redis doctrine symfony4

我有一个控制器操作,该操作对数据库/实体执行一些繁重的工作。在进行概要分析时,我注意到写入Redis的缓存层浪费了很多时间。有什么方法可以仅针对此特定路由将二级缓存禁用为Redis吗?

2 个答案:

答案 0 :(得分:0)

您可以禁用缓存或按查询进行更改,例如与useQueryCache()useResultCache()

在您的存储库中,您可以使用$this->createQueryBuilder()来构建查询。替代地,实体管理器提供采用DQL字符串的createQuery()方法。在这两种方法产生的查询对象上,在对Query对象调用getResult()之前,可以调用这些方法。

答案 1 :(得分:0)

找到了一种方法:

扩展Thank you 04FS for the information on flex-grow and flex-shirnk to make zero. I have changed the CSS for my flex box and given the width of each column in %. This solved my issue #parent { width: 750px; display: flex; } .grow { width: 100%; text-align:center; white-space:nowrap; } 类并覆盖Symfony\Component\Cache\DoctrineProvidersave方法。在类上使用静态布尔变量来控制保存到缓存:

saveMultiple