`

lumen中使用redis队列

阅读更多
1、采用redis作为队列驱动
  修改.env文件
QUEUE_DRIVER=redis


2、增加config/queue.php文件
   connections下的名称要与database.php的配置一致
<?php
return [

	'default' => env('QUEUE_DRIVER', 'redis'),


	'connections' => [
		'redis' => [
			'driver' => 'redis',
			'connection' => 'default',
			'queue' => 'task',
			'expire' => 60,
		],
	],
];


3、设置bootstrap/app.app文件
   注册redis服务
$app->register(Illuminate\Redis\RedisServiceProvider::class);//redis


4、在程序中推送任务到队列
   在controller的任意位置执行以下语句,更多调用方式参见lumen文档
dispatch(new MyTask($myparam));


5、启动任务调度服务
   在项目根目录下执行以下语句
php artisan queue:listen
分享到:
评论

相关推荐

    Laravel/Lumen 使用 Redis队列

    Laravel/Lumen 使用 Redis队列 Laravel/Lumen 框架提供了一个队列系统,允许开发者将耗时操作或高并发操作异步执行,以缓解系统压力、提高系统响应速度和负载能力。在这个系统中,Redis 可以作为队列驱动,负责存储...

    Laravel开发-lumen-queue-email-alert

    队列任务存储在消息队列中,后台工作进程会逐一处理这些任务,避免阻塞主线程。Lumen支持多种队列驱动,如数据库、Redis、SQS、Beanstalk等。 2. **安装与配置** 在Lumen项目中,首先需要通过Composer安装`laravel...

    laravel-redis-sentinel-drivers:用于Laravel和Lumen的Redis Sentinel集成

    例如,如果我们希望在Laravel API中对缓存和会话使用Sentinel后面的Redis,则无法像在没有Sentinel的标准单服务器Redis设置中那样为这两种类型的数据设置单独的Redis数据库。 当我们需要清除缓存时,这会引起问题,...

    redis客户端管理工具

    9. ioredis:这是一款针对Node.js的Redis客户端库,提供了丰富的API和异步/同步操作,还支持连接池和Sentinel集群,适合在Node.js项目中使用。 10. redis-browser:这是一款基于Electron的桌面应用,提供类似Redis ...

    Laravel开发-laravel-redis

    4. **使用Redis**:在Laravel应用中,可以通过`Cache`或者`Queue`门面直接调用Redis方法,如`Cache::store('redis')-&gt;put()`用于存储数据,`Cache::get()`用于获取数据。同时,Redis也可用于消息队列、发布订阅等...

    Laravel开发-lumen-pubsub

    我们可以通过以下步骤在 Lumen 中使用事件系统: 1. **定义事件类**:首先,创建一个新的 PHP 类作为事件,继承自 `Illuminate\Foundation\Events\Event` 类(如果在 Lumen 中未提供此基础类,可以自行实现)。 2. ...

    Laravel开发-laredis

    Laredis 是一个专门为 Laravel 和 Lumen 框架定制的 Redis 服务器集成方案,旨在简化在 Laravel 项目中使用 Redis 的过程,提供更便捷的 API 和功能。 **一、Laredis 的核心特性** 1. **易于安装和配置**:Laredis...

    Laravel开发-laravel-async-queue

    Laravel的异步队列工作原理是,当一个任务被触发时,而不是立即执行,它会被放入一个队列中。后台的worker进程会监控这个队列,并在系统空闲时逐一取出任务进行执行。这种设计对于处理大量数据、发送邮件、执行...

    Lumen IM 后端(golang).zip

    Eloquent ORM使得在Golang中使用SQL数据库变得简单,而如果选择了NoSQL数据库,可以使用第三方库如`gorm`或者直接操作数据库驱动。 5. **身份验证与授权**:为了确保安全性,项目可能实现了JWT(JSON Web Tokens)...

    Laravel开发-laravel-mns

    同时,MNS 提供的监控和管理功能也可以帮助开发者更好地追踪和调试队列中的问题。 总的来说,`laravel-mns` 扩展为 Laravel 开发者提供了连接阿里云 MNS 服务的便利,使得开发者可以充分利用 MNS 的特性,提升应用...

    Laravel开发-illuminate-uqueue

    在Laravel框架中,`illuminate/uqueue`是Laravel队列组件的一个分支,它提供了在Laravel或Lumen应用中处理异步任务的能力。队列允许开发者将耗时的操作,如发送邮件、处理图像或者执行其他后台任务,放到后台处理,...

    Laravel中使用Queue的最基本操作教程

    队列任务的优先级可以通过队列名称实现,将任务推送到不同的队列中。此外,还可以设置队列失败处理策略,例如记录错误或发送通知。 总结来说,Laravel 队列服务提供了一种优雅的方式来处理异步任务,通过简单的配置...

    Laravel开发-lumem-microservice-shipment

    在实际开发中,Lumem Microservice Shipment可能会与其他微服务进行交互,例如订单服务、支付服务等,通过API Gateway统一处理外部请求,并使用消息队列(如RabbitMQ或Redis)进行异步通信,以确保系统的高可用性...

    Laravel_API_code_collection

    这个代码库可能包含如何使用Memcached、Redis等缓存驱动,以及如何配置和使用队列服务来处理耗时任务。 此外,Laravel_API_code_collection也可能包含单元测试和集成测试的例子,使用PHPUnit或Laravel自带的Testing...

    laravel-job-status:增加了跟踪作业进度,状态和分配到队列的结果的功能

    支持Laravel中包含的所有驱动程序(null / sync / database / beanstalkd / redis / sqs) 该软件包有意不提供任何用于显示作业进度的UI。 如果您有此需要,请参阅 或使用JobStatus模型进行自己的实现 要求 ...

    “Net Joint”互联网+开发平台

    同时,平台还支持数据库读写分离,并与memcache、redis等缓存技术对接,对并发写入请求进行队列处理。 9. 接口标准化: “Net Joint”采用REST风格的接口标准,确保前后端产品易于对接其他系统。这种方式符合互联网...

    laravel-awesome:Laravel学习图谱

    7. **队列**:Laravel的队列系统支持多种驱动,如数据库、Redis或SQS,用于异步处理耗时任务,提高应用性能。 8. **事件与监听器**:事件监听器是实现解耦代码和响应特定事件的好方法。 9. **测试**:Laravel提供...

    laravel-微服务

    4. **消息队列与事件驱动**:Laravel的Event系统和队列服务(如RabbitMQ或Redis)使得服务间异步通信成为可能,提高系统的可扩展性和解耦性。 5. **服务间的通信**:Laravel的`HttpClient`类或第三方库如Guzzle允许...

Global site tag (gtag.js) - Google Analytics