laravel使用reids宣言先安装predis

安装

laravel中使用redis首先需要你通过 Composer 安装 predis/predis 包:

composer require predis/predis
  • 1

配置

redis的配置文件是:config/database.php

 'redis' => [

        'client' => 'predis',

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

    ],
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这个自己测试玩的时候不需要改动,另外一个地方就是.env文件

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
  • 1
  • 2
  • 3

这些是相关信息,其实你都不需要改动。在这我们先不说redis集群的问题,先说单个redis的使用。

测试

首先需要一个路由:

//redis测试
Route::get('testRedis','RedisController@testRedis')->name('testRedis');
  • 1
  • 2

利用artisan命令创建一个控制器

php artisan make:controller RedisController
  • 1
  • 2

然后我们在该控制器中引入对应的类和创建一个方法。 
因为我们通过composer安装后,laravel框架已经帮我们将redis在app.php配置文件中进行了注册和门面支持,所以直接使用即可。(Member类是我自己测试的数据表模型,无需理会)

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Member;
use Illuminate\Support\Facades\Redis;

class RedisController extends Controller
{
    public function testRedis()
    {
        Redis::set('name', 'guwenjie');
        $values = Redis::get('name');
        dd($values);
        //输出:"guwenjie"
        //加一个小例子比如网站首页某个人员或者某条新闻日访问量特别高,可以存储进redis,减轻内存压力
        $userinfo = Member::find(1200);
        Redis::set('user_key',$userinfo);
        if(Redis::exists('user_key')){
            $values = Redis::get('user_key');
        }else{
            $values = Member::find(1200);//此处为了测试你可以将id=1200改为另一个id
         }
        dump($values);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

错误问题

在你做完以上操作运行的时候,也许会报这个错误:

(1/1) ConnectionException
����Ŀ����������ܾ����޷����ӡ� [tcp://127.0.0.1:6379]
in AbstractConnection.php (line 155)
at AbstractConnection->onConnectionError('����Ŀ����������ܾ����޷����ӡ�', 10061)
in StreamConnection.php (line 128)
....
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其实这个问题不算问题,但是可能很多人刚用的时候会踩坑。 
这是因为你的服务器上没有安装和启动redis服务,就像mysql一样,使用的前提是安装并且成功启动了。 
我是在windows下测试的,就以windows说事。后续会写相关的redis文章,Linux的安装,启动使用等都会介绍。 
首先下载windows版本:https://redis.io/download 
或者使用我下载好的,版本为:4.0.8 
点击下载:4.0.8-windows-redis 密码: sxyd

其实接下来的也就是windows如何安装Redis的教程

  • 将刚刚下载的压缩包解压缩,修改名称为Redis(可不修改)放置到C盘
  • 在该路径下打开cmd窗口,直接输入redis.exe
  • 显示以下内容表示安装并且启动成功。(注意:如果你想在命令行进行操作,应该再打开一个cmd窗口,这个也不能关掉)

  • 如果不想每次都到该目录启动,请配置环境变量即可。

现在你重新运行刚刚的Laravel中的请求就会正常运行。

转载至 https://blog.csdn.net/gu_wen_jie/article/details/79413365

猜你喜欢

转载自blog.csdn.net/linyunping/article/details/80975840