laravel 8 InvalidArgumentException: Redis connection [cache] not configured. in file
时间: 2024-03-27 16:37:37 浏览: 175
这个错误是因为在 Laravel 8 中,缓存和 Redis 的默认连接方式已经发生了改变。
在 Laravel 8 中,默认的缓存驱动是 `file`,而不是之前版本中的 `redis`。因此,如果你想使用 Redis 作为缓存驱动,需要手动配置。
在 `.env` 文件中,你需要将 `CACHE_DRIVER` 的值修改为 `redis`,并配置 Redis 的连接信息,例如:
```
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
```
同时,在 `config/cache.php` 文件中,你需要将 `default` 缓存驱动修改为 `redis`,并配置 Redis 的连接信息,例如:
```php
'default' => env('CACHE_DRIVER', 'redis'),
'redis' => [
'driver' => 'redis',
'connection' => 'cache',
],
```
在这个例子中,我们将缓存驱动修改为 `redis`,并使用 `cache` 连接,与之前版本中的默认连接方式相同。
如果你仍然遇到 `Redis connection [cache] not configured` 的错误,可能是因为你的 Redis 连接没有被正确地命名为 `cache`。你可以在 `config/database.php` 文件中查看 Redis 的配置,确保你的 Redis 连接正确地被命名为 `cache`。例如:
```php
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
],
```
在这个例子中,我们将 Redis 连接命名为 `cache`,并配置了相应的连接信息。
希望这些信息能够帮助你解决问题。
阅读全文