peachpear/peach-consumer-redis
Composer 安装命令:
composer create-project peachpear/peach-consumer-redis
包简介
redis queue consumer project
README 文档
README
pear让你更畅快地编程。 peach-consumer-redis是以peach-api为基础,增加消费者必要服务,重整为支持Redis队列消费服务的项目。 按模块区分,除了写队列消费者,还可以写一些脚本。
前提准备
必要服务支持:php-cli、Redis
可选服务支持:MySQL
数据表
CREATE TABLE `logs` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`level` varchar(32) NOT NULL DEFAULT '' COMMENT '级别',
`log_id` varchar(128) NOT NULL DEFAULT '' COMMENT '事务标识id',
`data` text COMMENT '数据',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_level` (`level`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='日志记录';
CREATE TABLE `queue_error` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`type` tinyint unsigned NOT NULL DEFAULT '1' COMMENT '类型,1:异步队列,2:延迟队列',
`queue` varchar(128) NOT NULL DEFAULT '' COMMENT '队列名称',
`data` text COLLATE utf8mb4_general_ci COMMENT '队列数据',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_type` (`type`),
KEY `idx_queue` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='队列错误记录';
使用说明
cd /yourProjectParentPath
composer create-project peachpear/peach-consumer-redis yourProjectName
cd /path/yourProjectName/
copy .env.example .env
运行示例
cd /path/yourProjectName/
// log队列消费者开始运行
php yii queue/consumer/start log
// mail队列消费者开始运行
php yii queue/consumer/start mail
// ticket队列消费者开始运行
php yii queue/consumer/start ticket
// ticket队列消费者停止运行
php yii queue/consumer/stop ticket
// ticket队列消费者重启运行
php yii queue/consumer/restart ticket
// ticket延迟队列消费者开始运行
php yii queue/delay/start queue
特别说明
其实,这个项目中最核心的就是循环从Redis中获取数据那一段代码,完全可以不使用框架。 之所以借用Yii2框架,就是为了方便使用日志功能,日志这一块可以注意下。
目录结构
├── common
│ ├── components
│ ├── config
│ ├── dao
│ ├── exception
│ ├── lib
│ ├── misc
│ ├── models
│ └── service
└── console
├── components
├── config
└── controllers
编码规范
1.PHP所有 关键字 必须 全部小写(常量 true 、false 和 null 也 必须 全部小写)
2.命名model对应的class 必须 以Model结尾
3.命名service对应的class 必须 以Service结尾
4.命名dao对应的class 必须 以Dao结尾
5.数据库查询返回接口 应该 使用model对象/对象列表
6.数据库的key必须是dbname+DB形式,e.g:dbname为test,则key为testDB
7.dao目录存放sql语句或者orm
8.model目录存放对应的数据实例对象
9.service目录存放业务逻辑处理
peachpear/peach-consumer-redis 适用场景与选型建议
peachpear/peach-consumer-redis 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 05 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「redis」 「consumer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 peachpear/peach-consumer-redis 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 peachpear/peach-consumer-redis 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 peachpear/peach-consumer-redis 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Simple Kafka library
Microservice RPC through message queues.
The CodeIgniter Redis package
Consumer of sqs message
贝嘟分布式缓存扩展
Simple queues implementation in PHP through database.
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MPL-2.0
- 更新时间: 2023-05-17