redis訂閱發布模式

2021-07-13 10:27:14 字數 795 閱讀 4165

理論遲點再補,先上**。

直接上**:

demopub.php(發布者**)

<?php

$redis = new redis();

$redis->connect('localhost',6379);

$redis->publish('mcs','麒麟之才');

demosub.php(訂閱者**)

<?php

$redis = new redis();

$redis->connect('127.0.0.1',6379);

//$redis->setoption(redis::opt_read_timeout, -1);//設定不超時,執行時設定redis配置,只有當前執行指令碼生效。

$res =$redis->subscribe(array('mcs'),'callback');

function callback($instance,$channelname,$message){

var_dump(func_num_args());

var_dump(func_get_args());

var_dump($instance,$channelname,$message);

echo $channelname,'==>',$message,php_eol;

在cli執行訂閱者**,然後另開乙個終端執行發布者**,觀察效果。

注意:redis在發布訂閱模式中,其他redis命令會執行失敗。

備註:本文就是為了給自己做下記錄,如有不恰當之處,請各路大牛指出,好讓後輩們學習。

Redis發布訂閱模式

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

redis發布訂閱模式

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

redis發布訂閱模式

127.0 0.1 6379 subscribe tuonas 訂閱了乙個tuonas的頻道 subscribe tuonas 1127.0 0.1 6379 publish tuonas hello 向tuonas這個頻道發布一條hello的訊息 integer 1127.0 0.1 6379 s...