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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
PHP 抓取网页图片并且另存为的实现代码
Mar 24 PHP
PHP实现邮件群发的源码
Jun 18 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
PHP生成树的方法
Jul 28 PHP
PHP实现合并discuz用户
Aug 05 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
化工专业个人的求职信范文
2013/11/28 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
发展部经理职责规定
2014/02/22 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
企业安全标语
2014/06/07 职场文书
专项法律服务方案
2014/06/11 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
解决Jupyter-notebook不弹出默认浏览器的问题
2021/03/30 Python
Promise面试题详解之控制并发
2021/05/14 面试题
Python入门学习之类的相关知识总结
2021/05/25 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle