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 相关文章推荐
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
May 13 PHP
PHP记录和读取JSON格式日志文件
Jul 07 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 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初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
浏览器窗口加载和大小改变事件示例
2014/02/27 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
在Python中执行系统命令的方法示例详解
2017/09/14 Python
Python实现的购物车功能示例
2018/02/11 Python
python文本数据相似度的度量
2018/03/12 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Python加速程序运行的方法
2020/07/29 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
什么是数据抽象
2016/11/26 面试题
工商管理实习生自我鉴定范文
2013/12/18 职场文书
装修施工安全责任书
2014/07/24 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
签约仪式致辞
2015/07/30 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书