Symfony 连接到memcached池

Symfony 连接到memcached池,symfony,doctrine-orm,Symfony,Doctrine Orm,也许有人知道,如何连接到memcached池,将其用作缓存驱动程序 我查阅了官方的捆绑文档和其他许多资料来源,但没有找到任何此类连接的示例 同样由于源代码的原因,我找不到任何使用池的选项,但可能我遗漏了一些东西。没有测试,但以下应该可以工作: 在app/config/parameters.yml中,设置/添加 parameters: memcached.servers: - { host: 127.0.0.1, port: 11211 } - { host

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

我查阅了官方的捆绑文档和其他许多资料来源,但没有找到任何此类连接的示例


同样由于源代码的原因,我找不到任何使用池的选项,但可能我遗漏了一些东西。

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

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

parameters:
    memcached.servers:
        - { host: 127.0.0.1, port: 11211 }
        - { host: 127.0.0.2, port: 11211 }
在app/config/config.yml set/add中

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]]
在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
正如我所说,我无法测试它,但这是几种已知的工作技术的组合


更新:根据CrazySquirrel的发现更新了解决方案。

感谢lxg提供您的想法。我用你的想法建立了正确的配置。请在下面找到正确的服务定义:

应用程序配置:

result_cache_driver:
        type: service
        id:  doctrine.cache.memcached
service.yml

memcached:
  class: Memcached
  calls:
      - [ addServers, [ %memcached_servers% ]]

doctrine.cache.memcached:
      class: Doctrine\Common\Cache\MemcachedCache
      calls:
        - [setMemcached, [@memcached]]

您是否检查了此文档:?是的,但我没有找到池配置的任何参考。好的,我不知道Doctrine为此提供了自己的服务实现。很高兴看到它的工作!我冒昧地用你的发现更新了我自己的帖子,所以这里有一个“统一”的描述。