Skip to content

Latest commit

 

History

History

.docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Contributte Doctrine Cache

Integration of Doctrine Cache for Nette Framework.

Content

Installation

Install package using composer.

composer require nettrine/cache

Register prepared compiler extension in your config.neon file.

extensions:
  nettrine.cache: Nettrine\Cache\DI\CacheExtension

Configuration

Minimal configuration

nettrine.cache:
  driver: Symfony\Component\Cache\Adapter\FilesystemAdapter(%tempDir%/cache/nettrine-cache)

Advanced configuration

nettrine.cache:
 driver: <class|service>

Warning

Cache adapter must implement Psr\Cache\CacheItemPoolInterface interface. Use any PSR-6 + PSR-16 compatible cache library like symfony/cache or nette/caching.

In the simplest case, you can define only adapter.

nettrine.cache:
  # Create cache manually
  adapter: App\CacheService(%tempDir%/cache/orm)

  # Use registered cache service
  adapter: @cacheService

Important

You should always use cache for production environment. It can significantly improve performance of your application. Pick the right cache adapter for your needs. For example from symfony/cache:

  • FilesystemAdapter - if you want to cache data on disk
  • ArrayAdapter - if you want to cache data in memory
  • ApcuAdapter - if you want to cache data in memory and share it between requests
  • RedisAdapter - if you want to cache data in memory and share it between requests and servers
  • ChainAdapter - if you want to cache data in multiple storages

The extension will automatically guess the best cache adapter for you.

  • FilesystemAdapter - if you have tempDir defined
  • ArrayAdapter - if you are in CLI mode
  • ApcuAdapter - if you have apcu extension enabled
  • defined - if you have defined adapter in configuration

Usage

There is no need to use cache directly. It is used by other packages like:

Examples

Tip

Take a look at more examples in contributte/doctrine.