Skip to content

Latest commit

 

History

History
91 lines (66 loc) · 2.66 KB

README.md

File metadata and controls

91 lines (66 loc) · 2.66 KB

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.