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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
Apr 11 PHP
ThinkPHP之getField详解
Jun 20 PHP
PHP闭包实例解析
Sep 08 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
PHP RabbitMQ消息列队
May 11 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
无需数据库在线投票调查php代码
2016/07/20 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
javascript设计模式 封装和信息隐藏(上)
2012/07/24 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
python简单验证码识别的实现方法
2019/05/10 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
对django中foreignkey的简单使用详解
2019/07/28 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
计算机网络毕业生自荐信
2013/10/01 职场文书
农民入党思想汇报
2014/01/03 职场文书
小学教学随笔感言
2014/02/26 职场文书
学校欢迎标语
2014/06/18 职场文书
班风口号
2014/06/18 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
2015年老干部工作总结
2015/04/23 职场文书
结婚纪念日感言
2015/08/01 职场文书
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript