Laravel框架使用Redis的方法详解


Posted in PHP onMay 30, 2018

本文实例讲述了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版本: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中的请求就会正常运行。

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

PHP 相关文章推荐
php中sql注入漏洞示例 sql注入漏洞修复
Jan 24 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
php实现字符串翻转的方法
Mar 27 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP fclose函数用法总结
Feb 15 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
Laravel 错误提示本地化的实现
Oct 22 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
php 解析非标准json、非规范json
Apr 01 PHP
php实现微信支付之退款功能
May 30 #PHP
分享5个非常有用的Laravel Blade指令
May 30 #PHP
php实现微信支付之企业付款
May 30 #PHP
ThinkPHP5框架缓存查询操作分析
May 30 #PHP
PHP实现通过CURL上传文件功能示例
May 30 #PHP
php实现微信支付之现金红包
May 30 #PHP
php微信支付之公众号支付功能
May 30 #PHP
You might like
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
PDO::getAvailableDrivers讲解
2019/01/28 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
关于jquery css的使用介绍
2013/04/18 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
AngularJS入门教程之ng-class 指令用法
2016/08/01 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
2017/05/02 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
win与linux系统中python requests 安装
2016/12/04 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python实现代码统计工具
2019/09/19 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
实习生自荐信范文
2013/11/13 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
老师对学生的寄语
2014/04/09 职场文书
实习生评语
2014/04/26 职场文书
超市理货员岗位职责
2014/07/04 职场文书
意向书范本
2014/07/29 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技