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基础知识:类与对象(5) static
Dec 13 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
php 空格,换行,跳格使用说明
Dec 18 PHP
深入理解PHP原理之Session Gc的一个小概率Notice
Apr 12 PHP
PHP排序算法类实例
Jun 17 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
PHP echo()函数讲解
Feb 15 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
PHP脚本的10个技巧(1)
2006/10/09 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
超级好用的一个php上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
实现无刷新联动例子汇总
2015/05/20 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
vue实现短信验证码输入框
2020/04/17 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
用Python进行行为驱动开发的入门教程
2015/04/23 Python
Python中Class类用法实例分析
2015/11/12 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
课外活动总结范文
2014/07/09 职场文书
2014年业务工作总结
2014/11/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
家长高考寄语
2015/02/27 职场文书
军训结束新闻稿
2015/07/17 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书