当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel框架使用Redis的方法详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-21 19:55:47 浏览: 评论:0 

这篇文章主要介绍了Laravel框架使用Redis的方法,结合实例形式较为详细的分析了Laravel框架中Redis数据库配置、使用方法及相关操作注意事项,需要的朋友可以参考下。

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

安装

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

composer require predis/predis

配置

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

  1. 'redis' => [ 
  2.    'client' => 'predis'
  3.    'default' => [ 
  4.      'host' => env('REDIS_HOST''127.0.0.1'), 
  5.      'password' => env('REDIS_PASSWORD',null), 
  6.      'port' => env('REDIS_PORT', 6379), 
  7.      'database' => 0, 
  8.    ], 
  9.  ], 

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

  1. REDIS_HOST=127.0.0.1 
  2. REDIS_PASSWORD=null 
  3. 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类是我自己测试的数据表模型,无需理会)

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

错误问题

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

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

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

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

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

首先下载windows版本:https://redis.io/download

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

github上的4.0.8-windows-redis下载地址:https://github.com/antirez/redis/archive/4.0.8.zip

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

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

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

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

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

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

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

Tags: Laravel Redis

分享到: