java使用redis发布和订阅消息

10 篇文章 0 订阅

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); 
    }  
}



3,订阅者

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好用一点.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值