将Doctrine连接到memcached池

Cra*_*rel 3 symfony doctrine-orm

也许有人知道,如何将Doctrine连接到memcached池,将其用作缓存驱动程序?

我检查了官方捆绑文档,以及很多其他来源,但没有找到任何这种连接的例子.

另外由于源代码,我找不到任何使用池的选项,但也许我想念一些东西.

lxg*_*lxg 7

没有测试,但以下应该工作:

在app/config/parameters.yml中,设置/添加

parameters:
    memcached.servers:
        - { host: 127.0.0.1, port: 11211 }
        - { host: 127.0.0.2, port: 11211 }
Run Code Online (Sandbox Code Playgroud)

在app/config/config.yml中设置/添加

services:
    memcache:
        # class 'Memcache' or 'Memcached', depending on which PHP module you use
        class: Memcache
        calls:
            - [ addServers, [ %memcached.servers% ]]

    doctrine.cache.memcached:
        class: Doctrine\Common\Cache\MemcachedCache
        calls:
            - [setMemcached, [@memcached]]
Run Code Online (Sandbox Code Playgroud)

在app/config/config_prod.yml中,设置

doctrine:
    orm:
        metadata_cache_driver:
            type: service
            id: doctrine.cache.memcached
        query_cache_driver:
            type: service
            id: doctrine.cache.memcached
        result_cache_driver:
            type: service
            id: doctrine.cache.memcached
Run Code Online (Sandbox Code Playgroud)

正如我所说,我无法测试它,但这是几种已知工作技术的组合.

更新:根据CrazySquirrel的调查结果更新解决方案.