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‘,‘[email protected]‘)->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中的请求就会正常运行。

原文地址:https://www.cnblogs.com/qwangxiao/p/10163730.html

时间: 2024-10-07 23:30:00

Laravel中Redis的使用的相关文章

laravel中redis的配置和使用

引入redis composer require predis/predis 会在composer.json中引入最新版本的predis composer update 把下载predis 库加入到vendor,命令执行成功后,如图: 配置redis 说到laravel 中redis 的配置,其实默认项目中已经有了相关配置,只是默认没有使用.默认使用的是: 项目 使用类型 CACHE_DRIVER file SESSION_DRIVER file 添加redis数据库使用 'redis' =>

laravel中redis个方法的使用

在laravel中使用redis自带方法的时候会发现许多原生的方法都不存在了,laravel对其进行了重新的封装但是在文档中并没有找到相关的资料最后在 \vendor\predis\predis\src\Profile\RedisProfile.php 该文件的createCommand方法重打印出 $this->commands 发现许多方法名是被重写的,以下为所有重新定义的方法名 array(151) { ["EXISTS"]=> string(24) "Pr

laravel中redis队列的使用

一.配置文件 首先我们需要在配置文件中配置默认队列驱动为Redis,队列配置文件是config/queue.php: return [ 'default' => env('QUEUE_DRIVER', 'sync'), 'connections' => [ 'sync' => [ 'driver' => 'sync', ], 'database' => [ 'driver' => 'database', 'table' => 'jobs', 'queue' =&g

laravel 操作 redis

laravel框架中本身已经存在相应的redis的配置我们在使用的时候只需要更改配置即可,但是在使用的时候一定要注意命名空间的问题,具体可查看config/app.php下面的aliases数组中具体的路径 1.安装启动Redis及依赖包 如果使用的是Homestead虚拟机作为本地开发环境的话,Homestead已经为我们安装好了Redis并开机启动,如果是使用Windows开发环境的话,可参考 这篇文章 安装启动Redis. Redis启动之后,还需要在Laravel项目根目录下运行如下命令

Laravel中利用队列发送邮件的方法示例

https://www.jb51.net/article/121647.htm 本文主要给大家介绍了关于Laravel中队列发送邮件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 批量处理任务的场景在我们开发中是经常使用的,比如邮件群发,消息通知,短信,秒杀等等,我们需要将这个耗时的操作放在队列中来处理,从而大幅度缩短Web请求和相应的时间.下面讲解下Laravel中队列的使用 1.配置文件 config/queue.php ? 1 2 3 4 5 6 7 8 9 1

[原创]Laravel 基于redis队列的解析

目录 参考链接 本文环境 为什么使用队列 Laravel 中的队列 分发任务 任务队列 Worker Last-Modified: 2019年5月10日11:44:18 参考链接 使用 Laravel Queue 不得不明白的知识 Laravel 队列文档 本文环境 Laravel 5.5 队列 Redis 为什么使用队列 使用队列的目的一般是: 异步执行 出错重试 解释一下: 异步执行: 部分代码执行很耗时, 为了提高响应速度及避免占用过多连接资源, 可以将这部分代码放到队列中异步执行. Eg

SpringBoot(三) :Spring boot 中 Redis 的使用

前言: 这一篇讲的是Spring Boot中Redis的运用,之前没有在项目中用过Redis,所以没有太大的感觉,以后可能需要回头再来仔细看看. 原文出处: 纯洁的微笑 SpringBoot对常用的数据库支持外,对NoSQL 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化.除此之外,Redis还提供一些类数据库的特性,比如事务,HA,

Laravel中的日志与上传

PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架的设计思想理解了也能学到好多东西.况且有好多东西自己还不理解,所以认真学习一个框架这还是可以学不少东西的. 还是先说说Laravel吧,现在已经到5.2了.就我自己来说之前没有接触过laravel,但是学习过laravel之后感觉这个框架确实不错,并且老外用的不亦乐乎.他的开发社区还可以,文档比较齐

Laravel中命名空间的运用

Laravel中自己封装了一个独特的命名空间,可以让开发者在View中能使用特定命名空间. View::addNamespace('Theme', '/views/theme/'); 那么我们就可以在View::make()中进行运用了,比如 return View::make("Theme::templates.message",array('message'=>'我是消息')); 因为添加了Theme的命名空间,那么在View::make中就会相应的查找/views/them