如何在 Laravel 6.X 中传递 PSR-6 兼容缓存适配器?

How to pass a PSR-6 compliant cache adapter in Laravel 6.X?

我注意到有一个 cache.psr6 容器别名,但如果我使用:

new Cache

例如,我收到一条错误消息,指出 getItems 不可用,我认为这意味着我没有传递符合 PSR-6 的缓存实例。如果以任何方式更改配置,我正在使用 Redis。

是否需要进行额外的配置,或者我传递的方式有误?

我使用的库是:https://github.com/AlexaCRM/dynamics-webapi-toolkit/wiki/Tutorial

并且教程指出:

You can optionally supply a PSR-6 compliant cache adapter.

$settings->cachePool = $cacheAdapter;

我的问题是,$cacheAdapter 是什么?

适配器将是 Psr16Adapter over a cache driver which is how cache.psr6 is bound in the default 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