Как передать адаптер кеша, совместимый с 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
Другие вопросы по тегам