0
votes

I would like to configure redis in symfony 2 in case when I have 2 entity managers defined (in config.yml file):

doctrine:
    dbal:
        default_connection: default
        connections:
            default:
                (...connection settings...)
             warehouse:
                (...connection settings...)

    orm:
        auto_generate_proxy_classes: true
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                auto_mapping: true
                mappings:
                    some_name:
                        type: xml
                        dir: (...dir1...)
                        prefix: (...prefix...)
                        is_bundle: false
            warehouse:
                connection: warehouse
                mappings:
                    some_name:
                        type: xml
                        dir: (...dir1...)
                        prefix: (...prefix...)
                        is_bundle: false

Currently, snc-redis is configured for one entity manager, default:

snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn: redis://redis
        doctrine:
            type: predis
            alias: doctrine
            dsn: redis://redis
    doctrine:
        metadata_cache:
            client: doctrine
            entity_manager: default
            document_manager: default
        result_cache:
            client: doctrine
            entity_manager: [default]
        query_cache:
            client: doctrine
            entity_manager: default

How changed it to serve multiple entity managers? I saw also that redis can be defined in each doctrine -> orm -> entity manager section in example:

entity_managers:
    default:
        metadata_cache_driver: redis
        result_cache_driver: redis
        query_cache_driver: redis

it's equivalent to define it in snc_redis -> doctrine section?

1

1 Answers

0
votes

entity_manager option can set array as value - you can list there to which entity managers you want connect that client.

snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn: redis://redis
        doctrine:
            type: predis
            alias: doctrine
            dsn: redis://redis
    doctrine:
        metadata_cache:
            client: doctrine
            entity_manager: [default, warehouse]
            document_manager: default
        result_cache:
            client: doctrine
            entity_manager: [default, warehouse]
        query_cache:
            client: doctrine
            entity_manager: [default, warehouse]