基于 Redis Stream 高性能轻量级消息队列
<?php
use Tinywan\RedisStream\RedisStreamQueue;
// 创建队列实例
$queue = RedisStreamQueue::getInstance(
['host' => '127.0.0.1', 'port' => 6379],
['stream_name' => 'tasks']
);
// 发送消息
$messageId = $queue->send(
[
'type' => 'user_registered',
'user_id' => 12345,
'email' => 'user@example.com']
);
echo "消息已发送: " . $messageId;
<?php
use Tinywan\RedisStream\RedisStreamQueue;
// 创建队列实例
$queue = RedisStreamQueue::getInstance(
['host' => '127.0.0.1', 'port' => 6379],
['stream_name' => 'tasks']
);
// 消费消息
$message = $queue->consume(function($message) {
echo "处理消息: " . $message['type'] . "\n";
// 处理业务逻辑
return true; // 确认消息
});
基于 Redis 5.0+ Stream,支持 50,000+ QPS,延迟低至 2ms
基于 Sorted Set,支持秒级到年级的任意时长延时
支持重新处理历史消息,提供只读模式审计功能
单例模式支持,避免重复创建实例,提升性能 100%+
Redis 连接池,自动连接复用和管理,降低连接开销
69个测试,244个断言,100%通过率,保证代码质量
完美集成 Laravel 队列系统,支持无缝替换
支持 ThinkPHP 6.0+,提供完整的服务封装
基于 Workerman,支持常驻内存高性能应用