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模板,主要想体现一下思路
Dec 25 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
从零开始学YII2框架(六)高级应用程序模板
Aug 20 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
php格式化金额函数分享
Feb 02 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
laravel自定义分页效果
Jul 23 PHP
PHP命令Command模式用法实例分析
Aug 08 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文件上传、下载和删除示例
2020/08/28 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
JavaScript中null与undefined分析
2009/07/25 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
python多线程扫描端口示例
2014/01/16 Python
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
单位领导证婚词
2014/01/14 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
党员政治学习材料
2014/05/14 职场文书
2014年城管工作总结
2014/11/20 职场文书
奖励通知
2015/04/22 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
Go归并排序算法的实现方法
2022/04/06 Golang
html中两种获取标签内的值的方法
2022/06/16 jQuery