Laravel框架使用Redis的方法详解
本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
- WCF中的Binding模型之六(完结篇):从绑定元素认识系统预定义绑定
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用
- 何为正则表达式?要他有何用?
- 向silverlight传递自定义参数
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(87)-MVC Excel导入和导出
- sl从程序集中读取xaml文件
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]
- WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]
- 如何解决打开VS2010后没有UI界面的问题
- RadRails1.0降临——增加Profiler、CallGraph Analyzer和Rails Shell等新特性
- Rails存储库从SVN转向Git
- 报告称10后已变成出境游“老司机”屌丝80后:我还没出过国
- 担心人工智能取代你的工作?听听微软科学家怎么说!
- Radiant: 基于Ruby on Rails的内容管理系统
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一句话实现php日期转中文汉字
- .Net Core微服务入门全纪录(八)——Docker Compose与容器网络
- PHP中少用但是很好用的方法
- 使用一维数据构造简单卷积神经网络
- .Net Core微服务入门全纪录(完结)——Ocelot与Swagger
- PHP使用GD库生成文件
- 反向传播算法从原理到实现
- 基于EntityFramework 6 Code First实现多租户的一种思路
- PHP使用GD库生成柱状图
- PHP生成Mysql数据字典
- .Net Core in Docker极简入门(上篇)
- PHP一个比较完善的树形结构代码
- .Net Core in Docker极简入门(下篇)
- snoopy(强大的PHP采集类) 详细介绍
- 十分钟搭建自己的私有NuGet服务器-BaGet