【问题标题】:Redis connection [cache] not configured error with laravelRedis 连接 [缓存] 未配置 laravel 错误
【发布时间】:2019-04-22 19:53:42
【问题描述】:

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

我已经在本地安装了 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

【问题讨论】:

    标签: laravel caching laravel-5 redis


    【解决方案1】:

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

    'redis' => [
    
            'client' => 'predis',
    
            'default' => [
                'host' => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', 'footbar'), //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 
    

    【讨论】:

      【解决方案2】:

      cache.php找到这个

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

      并将其更改为:

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

      【讨论】:

        【解决方案3】:

        第 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 步:配置/cache.php

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

        【讨论】:

          【解决方案4】:

          除其他答案外,如果您使用 redis 作为队列驱动程序,请验证 queue.phpconfiguration 文件中的 redis 连接是否设置为“默认”。

          【讨论】:

            猜你喜欢
            • 2017-06-28
            • 2017-06-29
            • 1970-01-01
            • 2019-07-06
            • 1970-01-01
            • 2020-05-02
            • 2014-07-09
            • 2018-01-30
            相关资源
            最近更新 更多