Proste użycie sposób Doktryna dostawcy cache. Początkowo zarejestrować usługę (próbkę w config.yml):
services:
memcached:
class: Memcached
calls:
- [ addServer, ['localhost', 11211] ]
memcached_cache:
class: Doctrine\Common\Cache\MemcachedCache
calls:
- [ setMemcached, [@memcached] ]
Następnie do wykorzystania dostać usługę, na przykład kontroler:
$cache = $this->get('memcached_cache');
wysłać do innego wykorzystania usług nazywa :
calls:
- [ setCacheProvider, [@memcached_cache] ]
lub argumenty:
arguments:
- @memcached_cache
W ten sam sposób można użyć innych interfejsów pakietu Doctrine Cache. Nauki Pamięć podręczna zapewnia bardzo prosty interfejs dla których kilka z implementacji skrzynkowych są przewidziane:
- ApcCache (wymaga wew/APC)
- ArrayCache (w pamięci, czas życia żądanie)
- FilesystemCache (nie jest optymalna dla dużej współbieżności)
- MemcacheCache (wymaga ext/memcache)
- MemcachedCache (wymaga ext/memcached)
- PhpFileCache (nie jest optymalna dla dużej concurrenc r)
- RedisCache.php (wymaga ext/phpredis)
- WinCacheCache.php (wymaga ext/wincache)
- XcacheCache.php (wymaga ext/XCache)
- ZendDataCache.php (wymaga Zend Server Platform)
Jeśli nie używałeś Doktryna, można wymagać Common Biblioteka dla projektów Doktryny: php composer.phar require doctrine/common
lub wymagają tylko buforowanie biblioteki oferując obiektowe API dla wielu backendów cache: php composer.phar require doctrine/cache
Jak korzystać Doctrine buforowania można przeczytać w Doctrine Common documentation na Doctrine Project web site
Symfony2 może to również buforować wewnętrznie za pomocą implementacji ESI. Z początku może wydawać się nieco zawiłe, ale czyni krok do skalowania lakierem o wiele mniejszym. –
@ Louis-PhilippeHuberdeau Interesuje mnie buforowanie określonych danych aplikacji, a nie szablonu/HTML. – Tower