`
liu86th
  • 浏览: 118380 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

基于Redis和PHP实现的消息队列

 
阅读更多

[1] 安装Redis(略)

 

[2] 安装phpredis(略)

 

[3] 需要用到Redis的消息订阅和发布,如果要监听Key值到期事件,必须修改配置文件,找到notify-keyspace-events Ex的注释去掉。(适用的场景,如下订单30分钟后,自动取消订单)。

 

[4] 消息发布,发布消息到test1频道

$redis = new Redis();
$isLink = $redis->connect('127.0.0.1', 6379);
if ($isLink) {
    $redis->publish('test1', 'msg1 \n');
}

 

[5] 消息订阅,接收publish发布的消息和Key过期的事件,要放到命令行去跑

ini_set('default_socket_timeout', -1);
try{
    $redis = new Redis();
    $res = $redis->pconnect('127.0.0.1', 6379, 0);
    $redis->psubscribe(array('test1', '__keyevent@0__:expired'), 'callback');
} catch (Exception $exc) {
    echo $exc->getMessage();
}

// 回调函数,这里写处理逻辑
function callback($instance, $pattern, $channelName, $message)
{
    echo $channelName, "==>", $message, PHP_EOL;
}

 到此,完成

分享到:
评论

相关推荐

    Redis延时消息队列基于swoole实现的多进程消费端

    要深入了解这个系统的工作原理和实现细节,你需要解压这个文件,并查看源代码,特别是与Redis交互、Swoole多进程配置以及消息处理相关的部分。 总结来说,这个系统利用了Redis的延时队列功能和Swoole的多进程特性,...

    Go-Delayer-基于Redis的延迟消息队列中间件

    延迟消息队列是一种特殊的消息队列,它不仅能够实现消息的即时发送,还能在预设的时间点后再进行消息的消费。这种机制在许多场景下非常有用,例如定时任务、订单超时处理、活动预约等。Go-Delayer就是针对这类需求而...

    PHP基于Redis消息队列实现发布微博的方法

    Redis是一个高性能的键值存储系统,常用于缓存、消息队列和其他数据结构服务。结合PHP,我们可以构建一个高效、低延迟的微博发布系统,有效降低数据库的并发压力。 首先,我们需要在服务器上安装Redis和PHP的Redis...

    php基于Redis消息队列实现的消息推送的方法

    本文提供了PHP和Redis结合实现消息队列和消息推送的详细方法。通过分析Redis中list数据结构的特性,利用`BRPOP`和`BLPOPLPUSH`命令,可以构建一个稳健的后台消息处理机制。结合PHP脚本,可以有效地将消息推送至...

    Thinkphp6 redis队列 消息事件 gatewayworker聊天打通版

    `Redis`的`list`数据结构可以很好地模拟消息队列,通过`rpush`和`lpop`命令,可以将消息推入队列并在另一端取出,保证了消息的顺序处理。 接下来,`GatewayWorker`是一个专为实时通信设计的长连接服务框架,它支持...

    基于redis的作业队列.zip

    基于redis的作业队列#Codeigniter-jobQueue ###由Marcos Sanz基于 redis 和 mcurl 编写的作业队列如果您遇到任何问题或者发现错误,请随时给我发送电子邮件。##安装 首先,您必须安装codeigniter-redis库和...

    PHP+Redis 的队列处理程序

    通过与Redis集成,我们可以利用Redis的高效内存存储特性来实现消息队列。Redis不仅是一个键值存储系统,还支持多种数据结构如列表、集合、有序集合等,这使得它成为构建队列的理想选择。 在描述中提到了Yii框架,...

    基于PHP+Redis实现的延时队列 +项目源码+文档说明

    <项目介绍> 基于PHP+Redis实现的延时队列 -------- 不懂运行,下载完可以私聊问,可远程教学 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    详解thinkphp+redis+队列的实现代码

    本文将介绍如何将ThinkPHP、Redis和队列结合起来,实现一个能够高效处理并发请求的秒杀系统。 一、安装Redis及PHP扩展 在开始前,需要确保服务器安装了Redis,并且PHP环境已经安装了与Redis交互所需的扩展。通常...

    redis-job-queue:RJQ是基于Redis和PHP的作业队列管理器和工作器

    RJQ是基于Redis和PHP的作业队列管理器。 它确实很小,可以容错,并且安装和使用都非常简单。 功能性 易于安装,易于启动或跟踪任务 从CLI和Redis获取作业服务器统计信息 在1小时内保留工作经历 Gracefull停止(等待...

    高并发学生选课系统,基于SpringBoot+Mybatis,Redis缓存,RabbitMQ消息队列course.zip

    该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理...

    PHP使用php-resque库配合Redis实现MQ消息队列的教程

    php-resque是一个用PHP编写的、基于Redis的消息队列系统,它受到了Ruby的Resque项目启发,提供了类似的功能。 **php-resque的安装与部署** 首先,你需要安装Redis服务器,通常在Linux环境中使用`apt-get install ...

    redisQueue.rar

    PHP Redis 扩展是 PHP 与 Redis 交互的桥梁,它提供了一系列的函数接口,如 `redis_connect` 连接 Redis 服务器,`rpush` 和 `lpop` 分别用于将元素推入列表和从列表中弹出元素,这些正是实现消息队列的基础操作。...

    PHP8的redis扩展安装for Windows

    在Windows环境下,为PHP8安装Redis扩展是一个常见的需求,特别是在开发和测试阶段,因为Redis作为一个高性能的键值存储系统,常被用作缓存和消息队列。本指南将详细介绍如何在PHP8中安装和配置Redis扩展。 首先,...

Global site tag (gtag.js) - Google Analytics