先啟動訂閱者sub.php,使其處於阻塞執行等待的狀態
然後執行發布者pub.php,向訂閱了該頻道的訂閱者推送訊息
#subscribe客服端 sub.php
$redis = new \redis();
$res = $redis->pconnect('192.168.6.33', 6379);
$key = 'first';
$redis->subscribe(array($key),'callback');
function callback($redis, $channel, $msg)
#public客服端 pub.php
#無需獨佔鏈結,不是堵塞的
$redis = new \redis();
$res = $redis->connect('192.168.6.33', 6379, 1 );
$key = 'first';//channel 訂閱這頻道的訂閱者,都能收收到訊息
$value = 'hello world!';
$res = $redis->publish($key,$value);
執行後結果如下:
啟動訂閱者程sub.php使其處於等待狀態:
執行發布者程式pub.php進行訊息推送:
訂閱者已接收到訊息:
Redis發布訂閱機制
redis是乙個開源的記憶體資料庫,它以鍵值對的形式儲存資料。由於資料儲存在記憶體中,因此redis的速度很快,但是每次重啟redis服務時,其中的資料也會丟失,因此,redis也提供了持久化儲存機制,將資料以某種形式儲存在檔案中,每次重啟時,可以自動從檔案載入資料到記憶體當中。redis的架構包括...
Redis 發布訂閱機制詳解
程序間的一種訊息通訊模式 傳送者 pub 傳送訊息,訂閱者 sub 接收訊息。聯想諸多訊息中介軟體的發布訂閱模式,但是redis大多用來作為基於記憶體的分布式快取,企業中訊息中介軟體多用activemq ribbitmq等。下圖展示了頻道channel1,以及訂閱這個頻道的三個客戶端 client2...
Redis之發布 訂閱機制
相關命令 publish 發布 subscribe 訂閱 psubscribe 一種訂閱符合給定模式的所有頻道的方法 unsubscribe 退訂 punsubscribe 退訂乙個訂閱的模式這些命令被廣泛用於構建即時通訊應用,比如網路聊天室 chatroom 和實時廣播 實時提醒等。redis相關...