发布:publish
例:publish mychannel hello2015
返回值是0表示没有订阅者
返回值是1表示已经有了订阅者
订阅:subscribe
例:subscribe mychannel [.....]
返回值是三个:
1) "message" 固定写法
2) "channel" 固定写法
3) "发布者发布的信息"
取消订阅:unsubscribe
例:unsubscribe [channel]
按照规则订阅:psubscribe
例:psubscribe channel? 能匹配channel1 等的的发布者
按照规则取消订阅:punsubscribe
注意:使用punsubscribe命令只能退订通过psubscribe 订阅的规则,不能退订直接通过subscribe 订阅的规则。
可以使用这个 发布 订阅功能,实现网站信息推送给订阅者功能,大概代码如下:
package bj.zm.redis; import org.junit.Test; import redis.clients.jedis.Jedis; /** * 发布功能 * @author Administrator * */ public class TestPub { /** * 发布消息 */ @Test public void test(){ Jedis jedis = new Jedis("192.168.1.110", 6379); jedis.publish("zmchannel", "hello 2015"); } } 订阅功能: package cn.crxy.redis.test; import java.util.Set; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPubSub; /** * 订阅功能 * @author Administrator * */ public class TestSub { @Test public void test(){ Jedis jedis = new Jedis("192.168.1.170", 6379); final Jedis jedis2 = new Jedis("192.168.1.170", 6379); JedisPubSub jedisPubSub = new JedisPubSub() { @Override public void onUnsubscribe(String channel, int subscribedChannels) { System.out.println("取消订阅"); } @Override public void onSubscribe(String channel, int subscribedChannels) { System.out.println("订阅成功"); } @Override public void onPUnsubscribe(String pattern, int subscribedChannels) { } @Override public void onPSubscribe(String pattern, int subscribedChannels) { } @Override public void onPMessage(String pattern, String channel, String message) { } @Override public void onMessage(String channel, String message) { /*if(message.equals("quit")){ this.unsubscribe(); }*/ Set<String> set = jedis2.smembers("set"); /** * Email.sendil(set,message); */ System.out.println(message); } }; jedis.subscribe(jedisPubSub , "crxy"); } }
相关推荐
本篇文章将深入探讨如何使用Java来实现Redis的消息订阅和发布功能,这在分布式系统和实时数据处理中非常关键。 首先,理解Redis的发布/订阅(Pub/Sub)模式是至关重要的。在这一模式下,Redis服务器作为消息的中间...
本项目提供了一个基于C#的Redis发布与订阅(Publish/Subscribe)系统的源码,帮助开发者了解如何在Windows Forms(Winform)应用中实现这一功能。 首先,我们需要了解Redis的发布/订阅模式。在这个模式下,发送者...
综上所述,C# Redis发布订阅Demo涵盖了Redis Pub/Sub机制的使用以及Key过期通知的处理。通过这个Demo,开发者可以学习到如何在C#应用中利用Redis进行实时数据通信和监控,这对于构建分布式系统和实时应用非常有价值...
**Redis发布订阅模式详解** Redis 是一款高性能的键值存储系统,它支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。在实际应用中,Redis 不仅可以作为缓存服务,还提供了丰富的消息通信机制,其中之一...
在这个“redis发布订阅小案例”中,我们将探讨如何使用Java来实现Redis的发布订阅功能。首先,我们需要引入Jedis库,这是Java操作Redis的常用客户端库。确保在项目中已经添加了Jedis的依赖,例如通过Maven或Gradle。...
基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,redis发布-订阅数据库,redis发布-订阅 基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,...
以下是一个简单的.NET Core 3.0应用,展示了如何使用StackExchange.Redis创建发布者和订阅者。 1. 创建发布者(Publisher) ```csharp using StackExchange.Redis; using System; class Program { static void ...
标题"Redis发布订阅.net实现"所涉及的关键知识点包括: 1. Redis的发布订阅机制: 发布订阅模式在Redis中由`PUBLISH`和`SUBSCRIBE`命令支持。发布者通过`PUBLISH`命令将消息发送到一个特定的频道,而订阅者则通过`...
在“redis绑定webSocket发布订阅连接推送”的场景中,服务器端会通过Redis的发布功能向特定的频道发布消息,这些消息通常包含了任务的进度、成功数量和失败数量。而前端Web客户端通过WebSocket与服务器保持连接,...
标题 "redispubandsub订阅预发布" 指的是 Redis 的 Pub/Sub 功能,包括发布(Publish)和订阅(Subscribe)两个主要操作。发布者通过 `PUBLISH` 命令向指定频道发送消息,而订阅者通过 `SUBSCRIBE` 或 `PSUBSCRIBE` ...
综上所述,Redis 的订阅和发布功能提供了轻量级的消息传递机制,适用于实时数据同步和事件传播。结合本地 Redis 服务,开发者可以在本地快速搭建和测试相关的应用场景,从而提高开发效率。通过选择适合的编程语言...
由于Redis操作可能涉及网络延迟,推荐使用异步方式处理订阅和发布,避免阻塞主线程。你可以使用Qt的信号和槽机制,当接收到新消息时发射信号,由其他对象响应处理。 7. **错误处理**: 对于可能出现的网络错误或...
本话题主要探讨如何利用SpringBoot和Redis实现事件的发布订阅功能,这对于实现分布式系统中的异步通信和解耦至关重要。 首先,我们需要理解SpringBoot的核心特性。SpringBoot是Spring框架的一个简化版本,它旨在...
接下来,详细介绍一下.NET Core中使用StackExchange.Redis进行Redis发布订阅的具体步骤和代码示例: 1. 安装StackExchange.Redis库 要在.NET Core项目中使用StackExchange.Redis,需要先通过NuGet包管理器安装该库...
本案例包含redis的发布订阅功能,以及dotnet core+SignalR实现的简单即时通信,并提供文档笔记。本案例初衷是想结合redis的发布订阅功能+websocket实现消息客户端页面订阅指定的消息,并在客户端页面进行显示;
基于Java环境下的Redis发布订阅设计与实现 本文研究了基于Java环境下的Redis发布订阅设计与实现,以满足实时聊天系统、微博以及分布式架构等应用对数据通信中间件的需求。Redis的发布订阅功能可以实现实时通信、...
`uTerminalFrm`可能是一个用户界面,用于显示和交互Redis操作,如发布消息、订阅频道等。`.ddp`是Delphi工程的项目文件,`.dfm`包含表单的布局信息,而`.pas`则包含对应的源代码。 3. NsyRedis.dof 和 RedisClient....
可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 使用了redis发布订阅消息队列 数据库采用MySQL 可以工作在nginx tcp负载均衡环境中的集群聊天服务器和客户端源码 基于nuduo库实现 ...
在SpringBoot中,这些通常包括实现`WebSocketMessageHandler`的类,以及处理订阅、取消订阅和接收到的消息的方法。 总的来说,这个项目展示了如何利用SpringBoot的WebSocket支持和Redis的发布/订阅功能来构建一个高...
redis订阅机制,一方面推送消息,另一方面同时接收消息。