1

我想在我的不同环境中为学说缓存设置默认缓存寿命/超时。

php bin/console config:dump-reference doctrine

仅显示在实体管理器区域的高级配置中将生命周期设置得非常深入的选项,我不想在这里乱搞。我不敢相信没有地方可以为数据库结果缓存设置通用值。

真的没有选项可以在配置文件中设置缓存的默认超时吗?

当前配置/测试/doctrine.yaml:

doctrine:
    orm:
        auto_generate_proxy_classes: false
        metadata_cache_driver:
            type: service
            id: doctrine.system_cache_provider
        query_cache_driver:
            type: service
            id: doctrine.system_cache_provider
        result_cache_driver:
            type: service
            id: doctrine.result_cache_provider

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
4

2 回答 2

0

几个月后我为 symfony 5 找到了解决方案,但它也可能适用于 symfony 4:How to set namespace and item expiration for a symfony5 redis cachepool

于 2021-08-25T05:17:16.887 回答
0

我已经这样做了...

framework:
    cache:
        default_memcached_provider: 'memcached://localhost:...'
        pools:
            doctrine.result_cache_pool:
                adapter: cache.adapter.memcached
                public: false
                default_lifetime: 86400
于 2020-11-08T13:09:50.850 回答