redis 的發布 訂閱模式

2021-09-11 21:54:25 字數 1751 閱讀 3384

redis 發布訂閱(pub/sub)是一種訊息通訊模式:傳送者(pub)傳送訊息,訂閱者(sub)接收訊息。乙個redis客戶端可以訂閱任意多大頻道channel,乙個頻道也可以被多個客戶端訂閱。 1.建立並監聽頻道

127.0.0.1:6379> subscribe mysubscribe

reading messages... (press ctrl-c to quit)

1) "subscribe"

2) "mysubscribe"

3) (integer) 1

複製**

2.向建立的頻道傳送一條訊息

127.0.0.1:6379> publish mysubscribe  "redis is a great caching technique"

(integer) 1

複製**

127.0.0.1:6379> subscribe mysubscribe

reading messages... (press ctrl-c to quit)

1) "subscribe"

2) "mysubscribe"

3) (integer) 1

1) "message"

2) "mysubscribe"

3) "redis is a great caching technique"

複製**

1.訂閱者需要繼承抽象類jedispubsub;重寫方法onmessage接收發布者傳送的訊息,

public class farmer extends jedispubsubelse

if("sunny".equals(message))else

}}public class worker extends jedispubsub else

if("sunny".equals(message))else

}}public class programmer extends jedispubsub else

if("sunny".equals(message))else

}}複製**

2.定義發布者

public class weatherserver

}複製**

3.測試類

public class main  catch (exception e) 

}}).start();

new thread(new runnable

() catch (exception e)

}}).start();

new thread(new runnable

() catch (exception e)

}}).start();

//主線程:發布訊息到channel_name頻道上

weatherserver weatherserver = new weatherserver();

weatherserver.publishmessage(publisherjedis,channel_name,"rain");

farmerjedis.close();

workerjedis.close();

programmerjedis.close();

}}複製**

訂閱者是根據channel的名字接收發布者發布的訊息的。

Redis發布訂閱模式

publish subscribe 發布訂閱模式的原理 包含兩個角色,乙個是發布者,乙個是訂閱者 訂閱者可以訂閱乙個或者多個頻道channel 發布者可以向指定頻道發布資訊 通過publish發布訊息 publish channel message publish channel1.1 maizie...

redis訂閱發布模式

理論遲點再補,先上 直接上 demopub.php 發布者 redis new redis redis connect localhost 6379 redis publish mcs 麒麟之才 demosub.php 訂閱者 redis new redis redis connect 127.0....

redis發布訂閱模式

發布 訂閱 模式包含兩種角色,分別是發布者和訂閱者。訂閱者可以訂閱乙個或者多個頻道 channel 而發布者可以向指定的頻道 channel 傳送訊息,所有訂閱此頻道的訂閱者都會收到此訊息。此模式允許生產者只生產一次訊息,由中介軟體負責將訊息複製到多個訊息佇列,每個訊息佇列由對應的消費組消費。模糊匹...