laravel配置使用Redis队列
目录
目录
一.安装Redis和扩展配置
二.安装redis的依赖
三.配置laravel队列
四.创建队列
五.启动队列
六.使用队列
七.最终结果
一.安装Redis和扩展配置
这里就跳过,可以专门去看安装Redis以及配置PHP扩展的文章
二.安装redis的依赖
laravel根目录下运行命令 composer require predis/predis
安装时报内存溢出
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes)
解决:
php -r "echo ini_get('memory_limit').PHP_EOL;" //命令行执行,获取当前内存限制大小
修改php.ini配置文件
memory_limit = -1
安装完后,再改回来
三.配置laravel队列
修改.env配置,将QUEUE_CONNECTION=sync改为
QUEUE_CONNECTION=redis
四.创建队列
使用命令创建队列,在app/Jobs目录
php artisan make:job TestQueue
TestQueue.php文件
<?phpnamespace App\Jobs;use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Cache;class TestQueue implements ShouldQueue
{use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;public $data;/*** Create a new job instance.** @return void*/public function __construct($data){//接收消息return $this->data = $data;}/*** Execute the job.** @return void*/public function handle(){//消费消息Cache::add('data', $this->data);}
}
五.启动队列
起一个命令行,开启队列监听,频道为Test
php artisan queue:listen redis --queue=Test
六.使用队列
往Test频道中投递消
Route::get('job', function () {TestQueue::dispatch('队列消息')->onQueue('Test');return 'ok';
});
七.最终结果
最终cache缓存文件中添加了数据
9999999999s:12:"队列消息";
laravel配置使用Redis队列相关推荐
- Laravel/Lumen 使用 Redis队列
一.概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件.秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力.提高系统响应速度和负载能力. 二.配 ...
- Laravel redis队列不执行
配置redis队列,以为直接配置env改这个QUEUE_CONNECTION=redis,但是发现实际没有执行队列,如果是datebase或者sync的是没问题,但是redis就有可能出现问题 按照文 ...
- Laravel 清空 Redis 队列
先说问题,我的网站搜索使用的 Laravel Scout + Algolia 因为 Algolia 是收费的,免费版有容量限制.免费版应该是如下的限制: 一旦你的 计划超出配额,那么 Laravel ...
- Laravel7中Redis队列的使用
一.配置文件 首先我们需要在配置文件中配置默认队列驱动为Redis,队列配置文件是config/queue.php: return ['default' => env('QUEUE_DRIVER ...
- [PhalApi实战篇(1)]Redis队列处理异步任务
2019独角兽企业重金招聘Python工程师标准>>> [PhalApi实战篇(1)]Redis队列处理异步任务 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提 ...
- Thinkphp5中使用redis队列发送消息
文章目录 前言 一.php中怎么安装redis? 二.windows中安装redis 三.Thinkphp5中安装think-queue扩展 四.在项目中实际使用. 总结 前言 REmote DIct ...
- thinkphp6实现redis连接池_详解thinkphp+redis+队列的实现代码
1,安装Redis,根据自己的PHP版本安装对应的redis扩展(此步骤简单的描述一下) 1.1,安装 php_igbinary.dll,php_redis.dll扩展此处需要注意你的php版本如图: ...
- python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列
在每次使用redis都进行连接的话会拉低redis的效率,都知道redis是基于内存的数据库,效率贼高,所以每次进行连接比真正使用消耗的资源和时间还多.所以为了节省资源,减少多次连接损耗,连接池的作用 ...
- php为什么需要配置路由器,laravel 配置路由 api和web定义的路由的区别详解
1.路由经过中间件方面不同 打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware ...
最新文章
- R语言使用lm构建线性回归模型、并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary)、模型训练(测试)集自由度计算、模型训练(测试)集残差标准误计算
- JACK——PaintRobot Exercise9
- 跨平台视频通信项目-OpenTok
- ABAP--关于重复行的处理
- Java:重写equals()和hashCode()
- Linux九大哲学原理,Linux/Unix设计思想(全新阐释开源哲学,Jon “maddog” Hall作序推荐)...
- python os库使用
- gispython定义查询_Python与开源GIS:SpatiaLite 中的基本SQL数据库查询用法
- Python 处理 CSV/EXCEL 表格文件
- python 外部参数过长_介绍python中slice参数过长的处理方法及实例
- java day50【综合案例day02】
- 世界上到底有多少种编程语言?
- ActivityScenario启动失败Activity never becomes requested state [RESUMED, STARTED, CREATED, DESTROYED]
- 微信小程序wx.downloadFile下载图片(甄姬)出现格式.unknown的bug
- AD620单电源应变片测量电路分析
- 前端JS获取当前日期
- 鸿蒙掉不掉凤羽符,装备各部件灌注符的获取方式(和肝燕面基成功,给萌新的福利)...
- 植物大战僵尸java圣诞版,植物大战僵尸2国际版圣诞节版
- dbeaver 设置编码_宝鼎伺服马达编码器磨损维修
- gta5怎么设置画质最好_GTA5画面设置怎样最好?GTA5画面推荐设置