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 相关文章推荐
第十一节--重载
Nov 16 PHP
input file获得文件根目录简单实现
Apr 26 PHP
调整PHP的性能
Oct 30 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
php根据生日计算年龄的方法
Jul 13 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
Sep 30 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 PHP
PHP chop()函数讲解
Feb 11 PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 PHP
laravel框架使用阿里云短信发送消息操作示例
Feb 15 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二分查找二种实现示例
2014/03/12 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
使用URL传输SESSION信息
2015/07/14 PHP
php简单防盗链实现方法
2015/07/29 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
Node.js文本文件BOM头的去除方法
2020/11/22 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
使用python3实现操作串口详解
2019/01/01 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
基于python实现计算两组数据P值
2020/07/10 Python
全球速卖通俄罗斯站:AliExpress俄罗斯
2019/06/17 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
养牛场项目建议书
2014/05/13 职场文书
司法所长先进事迹
2014/06/02 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
2015年手术室工作总结
2015/05/11 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
nginx七层负载均衡配置详解
2022/07/15 Servers