在php中实现Redis的订阅与发布

<?php
//require_once dirname(__FILE__).‘/class/RedisClass.class.php‘;

function init_redis(){
   $redis = new Redis();
   $redis->connect(‘127.0.0.1‘,‘6379‘);
   return $redis;
}
//键值过期是通知
function psubscribe($callback){
   $redis = init_redis();
   $redis->psubscribe(array(‘__keyevent@*__:expired‘),$callback);
}

//订阅频道
function subscribe($callback){
   $redis = init_redis();
   $redis->subscribe(array(‘sunsun‘),$callback);
}
//键值过期的回调函数
function redisCallback($redis, $pattern, $channel, $message)
{
    var_dump($redis);
    var_dump($pattern);
    var_dump($channel);
    var_dump($message);
}
//订阅的回调函数
function redisCallbacks($redis, $channel, $message)
{
    var_dump($redis);
    var_dump($channel);
    var_dump($message);
}
psubscribe(‘redisCallback‘);
subscribe(‘redisCallbacks‘);

  

原文地址:https://www.cnblogs.com/sunshenggang/p/10385355.html

时间: 2024-10-17 07:45:23

在php中实现Redis的订阅与发布的相关文章

redis的订阅和发布

#订阅和发布有什么用呢?# 特点# 1.实现一个一对多的效果,只有一个发布者,多个订阅者# 2.实时的发布消息,广播方发布消息,所有的订阅者都会受到消息,一个人同时只能接受#一个频道 1.先写一个公共的类,这个类发布方和订阅方都可以调用,我们在这个类中分别定义了发布方的方法和订阅方的方法 import redis class RedisHelper(object): def __init__(self): self.conn = redis.Redis(host="127.0.0.1"

VB.net Wcf事件广播(订阅、发布)

这篇东西原写在csdn.net上,最近新开通了博客想把零散在各处的都转移到一处. 一.源起 学WCF有一段时间了,可是无论是微软的WebCast还是其他网上的教程,亦或我购买的几本书中,都没有怎么提到服务器端事件的订阅.(后来购买的一本WCF服务编程中提供了关于订阅和发布的例子) 网上也查了很多,但大部分都没有清楚地讲到这部分内容,有的虽然是讲这部分内容,但也是语焉不详.最重要的部分都没有讲到(也许是因为水平太差,看不懂).而且网上和书上所用的语言都是C#,这让人很恼火,虽然我能使用C#,但总是

python中使用redis发布订阅者模型

redis发布订阅者模型: Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者,订阅者和Channel.发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息.Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题. 发布者: pub.py import redis conn = redis.Redis(host="127.0.0.1&qu

Node.js中使用redis数据库的正确姿势

Redis是一个常用的Nosql数据库,一般用来代替Memcached做缓存服务,同时它也支持数据的持久化,有着比较广泛的应用场景.在Java中使用redis我们已经比较熟悉了,那么在node.js和koa.js框架中使用Redis的正确姿势是怎样的呢? Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: * Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载

Redis学习笔记(8)-发布/订阅

package cn.com; import java.util.List; import redis.clients.jedis.Jedis; public class Redis_PubSub { public static Jedis redis = new Jedis("localhost", 6379);// 连接redis /** * PUBLISH channel message * 将信息 message 发送到指定的频道 channel . * */ public s

Redis订阅和发布模式和Redis事务

-------------------Redis订阅和发布模式------------------- 1.概念 Redis 发布订阅(pub/sub)是一种消息通信模式: 发送者(pub)发送消息, 订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 2.subscribe channel:订阅个指定频道的信息 3.publish channel message:将信息message 发送到指定的频道channel 4.应用场景 1.今日头条订阅号.微信订阅公众号.新浪微博关

架构设计:系统存储(16)——Redis事件订阅和持久化存储

接上文<架构设计:系统存储(15)--Redis基本概念和安装使用> 3-4.事件功能和配置项 Redis从2.X版本开始,就支持一种基于非持久化消息的.使用发布/订阅模式实现的事件通知机制.所谓基于非连接保持,是因为一旦消息订阅者由于各种异常情况而被迫断开连接,在其重新连接后,其离线期间的事件是无法被重新通知的(一些Redis资料中也称为即发即弃).而其使用的发布/订阅模式,意味着其机制并不是由订阅者周期性的从Redis服务拉取事件通知,而是由Redis服务主动推送事件通知到符合条件的若干订

redis学习笔记之发布订阅

发布订阅(pub/sub)是一种消息通信模式,主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似.pub /sub不仅仅解决发布者和订阅者直接代码级别耦合也解决两者在物理部署上的耦合.redis作为一个pub/sub server,在订阅者和发布者之间起到了消息路由的功能.订阅者可以通过subscribe和psubscribe命令向redis server订阅自己感兴趣的消息类型,redis将消息类型称为通道(channel).当发布者通过publish命令向

redis 订阅与发布

PUBLISH,SUBSCRIBE,等命令实现订阅与发布 订阅/发布到频道 订阅/发布到模式 频道的订阅与信息发送   订阅subscribe,可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时,信息就会被发送给所有订阅指定频道的客户端: 当有新消息通过publish命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端: 订阅频道 每个 Redis 服务器进程都维持着一个表示服务器状态的 redis.h/redisServer 结构,结构的 pubsub_ch