您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么使用swoole+redis實現股票和區塊鏈服務,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
PHP 的redis擴展是阻塞式 IO ,使用訂閱/發布模式時,會導致整個進程進入阻塞。因此必須使用Swoole\Redis異步客戶端來實現。
$server = new swoole_websocket_server("0.0.0.0", 9501); $server->on('workerStart', function ($server, $workerId) { $client = new swoole_redis; $client->on('message', function (swoole_redis $client, $result) use ($server) { if ($result[0] == 'message') { foreach($server->connections as $fd) { $server->push($fd, $result[1]); } } }); $client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) { $client->subscribe('kline1min'); }); }); $server->on('open', function ($server, $request) { }); $server->on('message', function (swoole_websocket_server $server, $frame) { $server->push($frame->fd, "hello"); }); $server->on('close', function ($serv, $fd) { }); $server->start();
在進程啟動(onWorkerStart)時創建了Swoole\Redis客戶端,連接到Redis服務器
連接成功后,訂閱msg_0主題的消息
當有新的message時,Swoole\Redis會觸發onMessage事件回調
在這個回調函數中使用$server->connections遍歷服務器所有的連接,發送消息
關于“怎么使用swoole+redis實現股票和區塊鏈服務”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。