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 相关文章推荐
PHP4(windows版本)中的COM函数
Oct 09 PHP
建立动态的WML站点(一)
Oct 09 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
解析PHP获取当前网址及域名的实现代码
Jun 23 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
Feb 10 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 文件上传源码分析(RFC1867)
2009/10/30 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
探秘vue-rx 2.0(推荐)
2018/09/21 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
python判断windows系统是32位还是64位的方法
2015/05/11 Python
Python打印斐波拉契数列实例
2015/07/07 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python编程之event对象的用法实例分析
2017/03/23 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
python打造爬虫代理池过程解析
2019/08/15 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python实现画出e指数函数的图像
2019/11/21 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
C语言变量的命名规则都有哪些
2013/12/27 面试题
在子网210.27.48.21/30种有多少个可用地址?分别是什么?
2014/07/27 面试题
国窖1573广告词
2014/03/21 职场文书
《恐龙》教学反思
2014/04/27 职场文书
欢迎横幅标语
2014/06/17 职场文书
公司股东合作协议书
2014/09/14 职场文书
法律意见书范本
2015/06/04 职场文书