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你的验证码安全码?
Jan 02 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
smarty中post用法实例
Nov 28 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
php实现计数器方法小结
Jan 05 PHP
php实现的日历程序
Jun 18 PHP
php用户登录之cookie信息安全分析
May 13 PHP
ThinkPHP发送邮件示例代码
Oct 08 PHP
php微信公众号开发之关键词回复
Oct 20 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 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 zend 相对路径问题
2009/01/12 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
Document.body.scrollTop的值总为零的快速解决办法
2016/06/09 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
RequireJs的使用详解
2017/02/19 Javascript
JavaScript中立即执行函数实例详解
2017/11/04 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
用Python编写一个国际象棋AI程序
2014/11/28 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Django之PopUp的具体实现方法
2019/08/31 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
pycharm 2020 1.1的安装流程
2020/09/29 Python
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
管理站站长岗位职责
2013/11/27 职场文书
大学新生欢迎词
2014/01/10 职场文书
内勤主管岗位职责
2014/04/03 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
2014年司机工作总结
2014/11/21 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
如何写通讯稿
2015/07/22 职场文书
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript