使用redis進行發布訂閱訊息

2021-09-21 13:12:24 字數 1313 閱讀 5287

redis 發布訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。

redis 客戶端可以訂閱任意數量的頻道。

redis提供了發布訂閱功能,可以用於訊息的傳輸,redis的發布訂閱機制包括三個部分,發布者,訂閱者和channel。 

發布者和訂閱者都是redis客戶端,channel則為redis伺服器端,發布者將訊息傳送到某個的頻道,訂閱了這個頻道的訂閱者就能接收到這條訊息。redis的這種發布訂閱機制與基於主題的發布訂閱類似,channel相當於主題。

1,引入jedis

redis.clients

jedis

2.9.0

2,具體實現**

package com.hcmony.sword.redis;

import org.apache.commons.lang3.stringutils;

import redis.clients.jedis.jedis;

import redis.clients.jedis.jedispool;

import redis.clients.jedis.jedispubsub;

/** **

* * @author hcmony

* @since v1.0.0, 2019/05/06 20:07

*/public class redismq

/*** 發布訊息

* @param topic

* @param messge

*/public void publish(string topic ,string messge)

try

finally

} }/**

* 訂閱訊息

* @param topic

* @param jedispubsub

*/public void subscribe(string topic,jedispubsub jedispubsub)

try

finally

} }public static void main(string args)

}).start();

for (int i=0;i<100;i++)

} public static class myjedispubsub extends jedispubsub

}}

Redis訊息發布與訂閱

1.publish channel message 定義乙個channel並在其上發布訊息,例如 這裡定義了news,並在news上發布了hello訊息,返回值是1,說明有乙個訂閱者收到了發布的訊息,如果有多個訂閱者,會將顯示所有訂閱者的數量。2.subscribe channel 訂閱乙個chan...

redis之訊息訂閱發布

傳送訊息到指定的channel通道 subscribe 訂閱乙個或者多個通道 unsubscribe 取消訂閱指定的通道 psubscribe 訂閱乙個或多個符合給定模式的通道 punsubscribe 取消訂閱乙個或多個符合給定模式的通道 pubsub 檢視訂閱發布的狀態 下面通過一些簡答的示例說...

Redis 訊息發布與訂閱

使用方法 127.0.0.1 6379 publish news this is a test integer 0 127.0.0.1 6379 新開乙個redis cli 訂閱端 127.0.0.1 6379 subscribe news reading messages.press ctrl c...