3

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

new Cache

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

是否需要进行额外的配置,或者我是否以错误的方式传递了这个配置?

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

教程指出:

您可以选择提供符合 PSR-6 的高速缓存适配器。

$settings->cachePool = $cacheAdapter;

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

4

1 回答 1

8

适配器将是一个Psr16Adapterover a cache 驱动程序,它是如何cache.psr6绑定在 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
于 2019-12-06T11:10:34.487 回答