2. Installation¶
To begin, add the dependent bundles to the vendor directory buy running this command:
1 | composer require sonata-project/cache-bundle
|
Now, add the new Bundle to bundles.php
file:
// config/bundles.php
return [
// ...
Sonata\CacheBundle\SonataCacheBundle::class => ['all' => true],
];
2.1. Configuration¶
To use the CacheBundle
, add the following lines to your application configuration file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # config/packages/sonata.yaml
sonata_cache:
caches:
esi:
token: an unique security key # a random one is generated by default
servers:
- varnishadm -T 127.0.0.1:2000 {{ COMMAND }} "{{ EXPRESSION }}"
ssi:
token: an unique security key # a random one is generated by default
mongo:
database: cache
collection: cache
servers:
- {host: 127.0.0.1, port: 27017, user: username, password: pASS'}
- {host: 127.0.0.2}
memcached:
prefix: test # prefix to ensure there is no clash between instances
servers:
- {host: 127.0.0.1, port: 11211, weight: 0}
predis:
servers:
- {host: 127.0.0.1, port: 6379, database: 42}
apc:
token: s3cur3 # token used to clear the related cache
prefix: test # prefix to ensure there is no clash between instances
servers:
- { domain: kooqit.local, ip: 127.0.0.1, port: 80 }
timeout:
RCV: { sec: 5, usec: 0 }
SND: { sec: 5, usec: 0 }
symfony:
token: s3cur3 # token used to clear the related cache
php_cache_enabled: true # Optional (default: false), clear OPcache
types: [mytype1, mycustomtype2] # Optional, you can restrict allowed cache types
servers:
- { domain: kooqit.local, ip: 127.0.0.1, port: 80 }
timeout:
RCV: { sec: 2, usec: 0 }
SND: { sec: 2, usec: 0 }
|
For APC and Symfony caches, you can specify a basic parameter for servers definition (useful to clear cache for staging area behind this kind of protection)
1 2 3 4 5 | apc:
token: s3cur3 # token used to clear the related cache
prefix: test # prefix to ensure there is no clash between instances
servers:
- { domain: kooqit.local, ip: 127.0.0.1, port: 80, basic: 'user:login' }
|
At the end of your routing file, add the following lines:
1 2 3 4 5 | # config/routes.yaml
sonata_cache_cache:
resource: '@SonataCacheBundle/Resources/config/routing/cache.xml'
prefix: /
|