supercache-2.0.x-dev/supercache.services.yml
supercache.services.yml
services:
# This is just a reimplementation of Drupal\Core\Cache\ChainedFastBackendFactory
cache.backend.superchainedfast:
class: Drupal\supercache\Cache\ChainedFastBackendFactory
arguments: ['@settings']
tags:
- { name: event_subscriber }
calls:
- [setContainer, ['@service_container']]
# Database backed raw backend
cache.rawbackend.database:
class: Drupal\supercache\Cache\DatabaseRawBackendFactory
arguments: ['@database']
# Apc based raw backend.
cache.rawbackend.apcu:
class: Drupal\supercache\Cache\ApcuRawBackendFactory
arguments: ['@app.root', '@site.path']
# Checksum invalidator that is built on top the raw caching layer.
cache_tags.invalidator.checksum.supercache:
class: Drupal\supercache\Cache\CacheCacheTagsChecksum
arguments: ['@cache.rawbackend.chainedfast']
tags:
- { name: cache_tags_invalidator}
# Chained fast backend built on top of the RawCacheBackendInterface
# used to support chained fast storage for the CacheCacheTagsChecksum
# cache tag invalidator.
cache.rawbackend.chainedfast:
class: Drupal\supercache\Cache\ChainedFastRawBackendFactory
arguments: ['@settings']
tags:
- { name: event_subscriber }
calls:
- [setContainer, ['@service_container']]
# This is storage over apc/wincache, couchbase/memcache and then the database.
keyvalue.supercache:
class: Drupal\supercache\KeyValueStore\KeyValueChainedFactory
arguments: ['@cache.backend.superchainedfast', '@serialization.phpserialize', '@database']
keyvalue.expirable.supercache:
class: Drupal\supercache\KeyValueStore\KeyValueChainedExpirableFactory
arguments: ['@cache.backend.superchainedfast', '@serialization.phpserialize', '@database']
cache.supercache_keyvalue:
class: Drupal\Core\Cache\CacheBackendInterface
tags:
- { name: cache.bin }
factory: cache_factory:get
arguments: [static]