在使用了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的值。