Как передать адаптер кеша, совместимый с PSR-6, в Laravel 6.X?
Я отмечаю, что есть псевдоним контейнера cache.psr6, но если я использую:
new Cache
В качестве экземпляра я получаю сообщение об ошибке, что getItems недоступен, что, как я предполагаю, означает, что я не передаю экземпляр кэша, совместимый с PSR-6. Я использую Redis, если это каким-либо образом меняет конфигурацию.
Нужно ли выполнить дополнительную настройку или я передаю неверный путь?
Я использую библиотеку: https://github.com/AlexaCRM/dynamics-webapi-toolkit/wiki/Tutorial.
И в учебнике говорится:
Вы можете дополнительно поставить адаптер кэш-памяти, совместимый с PSR-6.
$settings->cachePool = $cacheAdapter;
У меня вопрос, что такое $cacheAdapter?
1 ответ
Адаптер будет Psr16Adapter
через драйвер кеша, вот как cache.psr6
привязан по умолчанию CacheServiceProvider
.
Если вы настроили redis в качестве драйвера кеша по умолчанию, вам нужно только настроить пул кеша на cache.psr6
.
$settings->cachePool = app('cache.psr6');
Однако вы можете столкнуться с Class 'Symfony\Component\Cache\Adapter\Psr16Adapter' not found
ошибка с symfony/cache
это только зависимость разработчика в laravel/framework
. Вы можете решить эту проблему, потребовав это в своем приложении.
composer require symfony/cache