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 www.mcyllpt.com 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')www.ysyl157.com ){
$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 www.thd178.com/ 155)
at AbstractConnection->onConnectionError('����Ŀ����������ܾ��������ӡ�', 10061)
in StreamConnection.php (line 128)
....
其实这个问题不算问题,但是可能很多人刚用的时候会踩坑。
这是因为你的服务器上没有安装和启动redis服务,就像mysql一样,使用的前提是安装并且成功启动了。
我是在windows下测试的,就以windows说事。后续会写相关的redis文章,Linux的安装,启动使用等都会介绍。
首先下载windows版本:https://www.gcyL157.com redis.io/download
或者使用我下载好的,版本为:4.0.8
点击下载:4.0.8-windows-www.xgll521.com redis 密码: sxyd
其实接下来的也就是windows如何安装Redis的教程
将刚刚下载的压缩包解压缩,修改名称为Redis(可不修改)放置到C盘
在该路径下打开cmd窗口,直接输入redis.exe
显示以下内容表示安装并且启动成功。(注意:如果你想在命令行进行操作,应该再打开一个cmd窗口,这个也不能关掉)
如果不想每次都到该目录启动,请配置环境变量即可。
现在你重新运行刚刚的Laravel中的请求就会正常运行。
Laravel中Redis的使用的更多相关文章
- laravel中redis各方法的使用
在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\sr ...
- laravel中redis队列的使用
一.配置文件 首先我们需要在配置文件中配置默认队列驱动为Redis,队列配置文件是config/queue.php: return [ 'default' => env('QUEUE_DRIVE ...
- laravel中redis数据库的简单使用
1.简介 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s . 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Set ...
- laravel中redis pipeline用法说明
$res = Redis::pipeline(function($pipe) use($params) { for ($i = 0; $i < 1000; $i++) { $pipe->g ...
- Laravel 5.1中 Redis 的安装配置及基本使用教程
关于Redis的介绍我们在之前Laravel 缓存配置一节中已有提及,Redis是一个开源的.基于内存的数据结构存储器,可以被用作数据库.缓存和消息代理.相较Memcached而言,支持更加丰富的数据 ...
- laravel 操作 redis
laravel框架中本身已经存在相应的redis的配置我们在使用的时候只需要更改配置即可,但是在使用的时候一定要注意命名空间的问题,具体可查看config/app.php下面的aliases数组中具体 ...
- Laravel 中使用 Redis 数据库
一.前言 Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串.散列.列表.集合.有序集合. 1. 安装 predis/predis 在 Larav ...
- laravel中如何使用Redis(Redis是什么)
laravel中如何使用Redis(Redis是什么) 一.总结 一句话总结: 基于内存亦可持久化键值数据库 Redis是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库.是当前最热门的的的N ...
- Laravel中使用Redis
安装PHP PRedis PRedis是laravel访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so).但在这之前需要了解一个composer,因为lar ...
随机推荐
- jQuery 使用问题
attr('checked', 'checked')调用多次仅第一次生效 使用attr()获取这些属性的返回值为String类型,如果被选中(或禁用)就返回checked.selected或disab ...
- Hadoop(5)-HDFS概述
HDFS产生背景 HDFS优缺点 HDFS组成架构 HDFS文件块大小
- 网站mysql防止sql注入攻击 3种方法总结
mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...
- gvim编码配置知识
配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题 Vim / gVim 在中文 Windows 下的字符编码有两个问题: 默认没有编码检测功能 如果一个 ...
- A*与IDA*的奇妙之旅
因为A*卡了一天QAQ 那么,A*是什么呢? A* A*是对于bfs的优化,启发式搜索. 例如下图: 不错,在这张图上,小人去找电脑,用bfs的话: 黄色就是bfs的搜索范围...不要问我为什么选黄色 ...
- go学习笔记-结构体
结构体 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 定义 格式 type struct_variable_type struct { member definition; member ...
- Andy's First Dictionary(uva 10815) set用法
参考:https://www.cnblogs.com/yjlblog/p/6947747.html https://blog.csdn.net/hnust_taoshiqian/article/det ...
- python2.7练习小例子(十九)
19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #!/usr/bin/python # -*- codi ...
- WPF中InkCanvas(墨水面板)用法
原文:WPF中InkCanvas(墨水面板)用法 WPF中InkCanvas(墨水面板)用法 ...
- WPF中,如何将Vista Aero效果扩展到整个窗口
原文:WPF中,如何将Vista Aero效果扩展到整个窗口 WPF中,如何将Vista Aero效果扩展到整个窗口 ...