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下封装较好的数字分页方法
Nov 23 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
Mar 07 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
PHP中的表达式简述
May 29 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
php7 新增功能实例总结
May 25 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php实现的xml操作类
2016/01/15 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
js计算页面刷新的次数
2009/07/20 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Python httplib,smtplib使用方法
2008/09/06 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python调用Windows命令打印文件
2020/02/07 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
python二维图制作的实例代码
2020/12/03 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
经济担保书范文
2014/04/02 职场文书
以权谋私检举信范文
2015/03/02 职场文书
关于开学的感想
2015/08/10 职场文书
2016年11月份红领巾广播稿
2015/12/21 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
改造DE1103三步曲
2022/04/07 无线电