在使用了phpredis的环境中,关于laravel5的Redis设置

我在处理Laravel 5中的Redis时遇到了问题,所以将其作为备忘录保存下来。

准备工作

在composer中安装predis/predis。

$ composer require predis/predis

编辑database.php

在下面的示例中,假设已经安装并启动了Redis服务器。

如果数据库的database.php文件中存在设置redis的选项,根据环境进行配置即可。但是如果默认情况下已经让Redis运行,那么可以保持原有的设置不变。

'redis' => [

    'cluster' => false,

    'default' => [
        'host' => '127.0.0.1',
        'port' => 6379,
        'database' => 0,
    ],
],

接下来,在控制器中添加以下描述。

<?php namespace App\Http\Controllers;

use Illuminate\Support\Facades\Redis;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

class RedisController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        //
        $redis = \Illuminate\Support\Facades\Redis::connection();

        $result = $redis->get('keys');

        return $result;
    }
}

在这里

use Illuminate\Support\Facades\Redis;

如果没有安装phpredis的话,

use Redis;

可以的话,看起来像是根据Laravel5的文档所述,

请注意:如果您已安装了PECL Redis PHP扩展,请将config/app.php文件中的Redis别名重命名。

应该设置这样一个方法,但可能会由于同时加载laravel中使用的redis类和phpredis而导致错误,所以可以将Redis别名重新命名,但我选择直接指定laravel的类。

此外,

$redis = Redis::connection();

这是最原始的描述方式,

use Illuminate\Support\Facades\Redis;

根据情况调整

$redis = \Illuminate\Support\Facades\Redis::connection();

我决定了。 (Wǒ .)

我已成功获取Redis的值。

bannerAds