Laravel未配置Redis连接[缓存]错误

时间:2018-11-20 11:17:51

标签: laravel caching laravel-5 redis

我正在尝试使用Redis在laravel中进行缓存。

我在本地安装了Redis,并且我知道它正在运行,因为我能够运行地平线队列和工作程序。

我做的时候也得到了回应

redis-cli Ping

但是当我尝试这段代码

$user = Cache::get('User:' .$Id , function ($Id) {
    return User::where('id', '=', $Id)->firstOrFail();
});

我得到了错误

 Redis connection [cache] not configured.

我已将.env更改为具有以下条目

CACHE_DRIVER=redis

3 个答案:

答案 0 :(得分:0)

您可以像这样在config/database.php中设置redis配置

'redis' => [

        'client' => 'predis',

        'default' => [
            'host' => env('REDIS_HOST', '127.0.0.1'),
            'password' => env('REDIS_PASSWORD', 'jignesh'), //if password otherwise set null 
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],

    ],
  

.env文件中的其他设置

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

然后运行artisan命令

php artisan config:cache
php artisan config:clear 

答案 1 :(得分:0)

cache.php

中查找
    'redis' => [
        'driver' => 'redis',
        'connection' => 'cache',
    ],

并将其更改为:

    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
    ],

答案 2 :(得分:0)

步骤1:配置:config / database.php在数组下面添加

'redis' => array(
'cluster' => false,
'default' => array(
'host'     => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env(‘REDIS_DATABASE',0),
),
),

第2步:配置:.env文件

CACHE_DRIVER=redis
REDIS_DATABASE=0 

第3步:Config / cache.php

'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
    ],