2017-02-08 19 views
0

Есть ли способ изменить конфигурацию кеша на лету?Изменить конфигурацию кеша на лету в CakePHP 3

В частности, я хочу установить различную продолжительность для каждой установленной мной клавиши, но не могу определить, как установить «длительность» на лету, поэтому она просто использует установленную по умолчанию продолжительность, которую я установил в файле config/app.php.

В CakePHP 2, по-видимому, вы можете использовать Cache::write('key', $value, $duration);, но это не кажется, вариант в CakePHP 3.

Причина, в том, что я поражая API, который возвращающую DateTime истечения срока действия. Поэтому я хочу, чтобы иметь возможность кэшировать данные и устанавливать срок их действия в соответствии с датой истечения срока действия.

+0

Пытались ли вы [ 'Cache :: конфигурации()'] (https: //book.cakephp .org/3,0/о/ядро-библиотека/caching.html # настройка кэш класс)? –

+0

Да, но он дает предупреждение о том, что вы не можете повторно настроить кеш. – Dave

ответ

1

Вы можете добиться того, что, получив двигатель кэша, связанный с ключа конфигурации, а затем изменить его конфигурацию

$engine = Cache::engine("default"); 
$engine->config("duration", "+2 minutes");