我正在研究重负载的 Symfony 优化,尝试模板缓存、 Doctrine 缓存等。但除非我错了,否则这些缓存在开发中是禁用的,因此很难评估这些优化的效果。
有没有办法在开发模式下启用缓存,以便我可以在保留调试栏的同时查看应用程序优化结果?
最佳答案
请注意,您的问题中有几个假设不正确:
默认情况下,Twig始终被缓存。检查文档 here 。如果由于某种原因您需要在开发过程中禁用缓存,您只能禁用缓存。但更有可能的是,这对你来说并不好。
生产环境中没有默认启用 Doctrine 缓存。如果您想启用缓存,您需要自己执行此操作(通过在 config/packages/prod/doctrine.yml 中创建适当的文件,但您首先需要验证到底是什么类型您需要的缓存以及如何配置它。查看一些有关 Doctrine 缓存的文档 here 。
最后,更改 dev
(或任何环境)上的设置只需在 config/packages/[environment_name]
中使用适当的设置创建另一个文件即可>.
您应该已经在 config/packages/dev/
中有一些。
要为环境创建特定设置,只需添加几个文件来调整这些设置。
例如你可以有一个 config/packages/dev/doctrine.yml ,里面有这个(基本的 Doctrine 缓存配置):
services:
doctrine.result_cache_provider:
class: Symfony\Component\Cache\DoctrineProvider
public: false
arguments:
- '@doctrine.result_cache_pool'
doctrine.system_cache_provider:
class: Symfony\Component\Cache\DoctrineProvider
public: false
arguments:
- '@doctrine.system_cache_pool'
framework:
cache:
pools:
doctrine.result_cache_pool:
adapter: cache.app
doctrine.system_cache_pool:
adapter: cache.system
关于php - 如何在开发模式下启用缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58831636/