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学习之整理字符串
Apr 17 PHP
初步介绍PHP扩展开发经验分享
Sep 06 PHP
php获取操作系统语言代码
Nov 04 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
phpnow php探针环境检测代码
Nov 04 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
php面向对象值单例模式
May 03 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
PHP JWT初识及其简单示例
Oct 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
php下使用以下代码连接并测试
2008/04/09 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
php7 新增功能实例总结
2020/05/25 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
js评分组件使用详解
2017/06/06 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
Python计算机视觉里的IOU计算实例
2020/01/17 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
Python之变量类型和if判断方式
2020/05/05 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
出国考察邀请函
2014/01/21 职场文书
比赛口号大全
2014/06/10 职场文书
酒店端午节活动方案
2014/08/26 职场文书
天下第一关导游词
2015/02/06 职场文书
学校中秋节活动总结
2015/03/23 职场文书
工作态度怎么写
2015/06/25 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技