Нашел способ сделать это:
Расширение Symfony\Component\Cache\DoctrineProvider
класса и переопределение save
и saveMultiple
методов. Используйте статическую логическую переменную в вашем классе для управления сохранением в кеш:
// Your custom class that extends the DoctrineProvider
public function save($id, $data, $lifeTime = 0)
{
if (static::$enableWriting === false) {
return false;
}
return parent::save($id, $data, $lifeTime);
}
// packages/doctrine.yaml
services:
doctrine.result_cache_provider:
class: App\Cache\ResultCacheDoctrineProvider
public: false
arguments:
- '@doctrine.result_cache_pool'