Вы можете скопировать приведенный выше фрагмент кода в качестве конфигурации службы в ваш services.yaml, который, вероятно, выглядит примерно так:
# app/config/services.yaml
services:
app.memcached_client:
class: Memcached
factory: 'Symfony\Component\Cache\Adapter\MemcachedAdapter::createConnection'
arguments: [['memcached://my.server.com:11211', 'memcached://rmf:abcdef@localhost']]
app.memcached_adapter:
class: Symfony\Component\Cache\Adapter\MemcachedAdapter
arguments:
- '@app.memcached_client'
Тогда в вашей конфигурации вы сможете ссылаться на адаптер, используя клиент, созданный на заводе, например, что-то вроде:
# app/config/config.yaml
framework:
cache:
app: app.memcached_adapter
Вы также можете перезаписать псевдоним по умолчанию cache.adapter.memcached
вместо использования собственного адаптера.
Ваш подход, использующий Memcached::addServer
, может также работать, но, как и в случае MemcachedAdapter::createConnection
, это вернет клиента, который должен быть передан адаптеру кэша. Вот почему существует второй сервис app.memcached_adapter
, который используется в конфигурации кеша.
Имейте в виду, что я не проверял это, так что это скорее грубый набросок, чем полностью работающее решение,