java使用redis发布和订阅消息
来源:互联网 发布:有了域名如何建站 编辑:程序博客网 时间:2024/05/23 00:41
1.使用maven导入相关的jar包
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.2</version></dependency>
2. 发布者
package com.tbs.redis;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import com.tbs.common.entity.Order;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPubSub;public class RedisPublish { public static void main(String[] args) throws IOException{ System.out.println("发布者 "); Jedis jRedis = new Jedis("localhost"); jRedis.publish("JRedisChat","my name is chenLong"); // jRedis.publish("JRedisChat1","Hello chenLong!"); Order o=new Order();// 一个实体类.. ByteArrayOutputStream byt=new ByteArrayOutputStream(); ObjectOutputStream obj=new ObjectOutputStream(byt); obj.writeObject(o); byte[] bytes=byt.toByteArray(); // 可写入byte和字符串. jRedis.publish("JRedisChat1".getBytes(),bytes); } }
package com.tbs.redis;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPubSub;public class RedisSub1 { public static void main(String[] args){ System.out.println("订阅者..1"); final Jedis jRedis = new Jedis("localhost"); JedisPubSub jedisPubSub=new JedisPubSub() { @Override public void onMessage(String channel, String message) { // 执行订阅消息 super.onMessage(channel, message); //终止订阅 super.unsubscribe(); System.out.println(message); } }; jRedis.subscribe(jedisPubSub,"JRedisChat1"); } }
4.先运行订阅着,再运行发布者,就会看到订阅者会打印出发布者的内容.
感觉还是mq好用一点.
阅读全文
0 0
- java使用redis发布和订阅消息
- redis 消息订阅和发布
- 使用Redis构建消息队列和发布订阅系统
- 使用jedis操作redis之消息的发布和订阅
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- Java实现Redis的消息订阅和发布
- 使用redis实现消息发布订阅
- Redis消息订阅发布
- redis发布订阅消息
- redis消息订阅发布
- redis消息订阅和发布实例
- redis-消息发布与订阅
- redis消息队列订阅发布
- redis发布及订阅消息
- MyBatis 易错点 面试点
- ssh安全只允许用户从指定的IP登陆
- spring配置文件中xsd引用问题
- Android 文件类型
- Android学习(四)Service的学习(上)
- java使用redis发布和订阅消息
- opengl使用Blin-phone模型计算镜面光照强度
- js正则表达式的使用详解
- cf Educational Codeforces Round 26 D. Round Subset
- LintCode569
- 基于Overfeat的图片分类、定位、检测
- 关于SpringMVC中重定向
- Springboot连接同一物理机上多数据库
- Unity3D眼镜Shader技术实现