Redis發布訂閱機制在PHP中的運用

2021-09-22 12:23:31 字數 900 閱讀 1612

先啟動訂閱者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相關...