Laravel框架使用Redis的方法详解

2018-09-07 12:14

阅读:316

  本文实例讲述了Laravel框架使用Redis的方法。分享给大家供大家参考,具体如下:

  安装

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

   composer require predis/predis

  配置

  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, ], ],

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

   REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379

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

  测试

  首先需要一个路由:

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

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

   php artisan make:controller RedisController

  然后我们在该控制器中引入对应的类和创建一个方法。

  因为我们通过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/1) ConnectionException
����Ŀ����������ܾ����޷����ӡ� [tcp://127.0.0.1:6379]
in AbstractConnection.php (line 155)
at AbstractConnection->onConnectionError(����Ŀ����������ܾ����޷����ӡ�, 10061)
in StreamConnection.php (line 128)
....

  其实这个问题不算问题,但是可能很多人刚用的时候会踩坑。

  这是因为你的服务器上没有安装和启动redis服务,就像mysql一样,使用的前提是安装并且成功启动了。

  我是在windows下测试的,就以windows说事。后续会写相关的redis文章,Linux的安装,启动使用等都会介绍。

  首先下载windows版本:

  或者使用我下载好的,版本为:4.0.8

  github上的4.0.8-windows-redis下载地址:

  或者:点击此处本站下载。

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

  将刚刚下载的压缩包解压缩,修改名称为Redis(可不修改)放置到C盘

  在该路径下打开cmd窗口,直接输入redis.exe

  显示以下内容表示安装并且启动成功。(注意:如果你想在命令行进行操作,应该再打开一个cmd窗口,这个也不能关掉)

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

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

  更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

  希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。


评论


亲,登录后才可以留言!