您当前的位置:网站首页>Redis>实现从Redis中订阅消息转发到 WebSocket 客户端 找Redis教程就上ki4.cc (>^ω^<),Redis

实现从Redis中订阅消息转发到 WebSocket 客户端 找Redis教程就上ki4.cc (>^ω^<),Redis

2020年06月14日 投稿作者: 围观人数:34

详细Redis数据库入门教程 找Redis教程就上ki4.cc (>^ω^<)

这篇文章主要介绍了很详细Redis入门教程,本文详细介绍了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('msg_0');
    });
});
$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服务器

Redis的安装和部署 找Redis教程就上ki4.cc (>^ω^<)

Redis是一个开源的试用ANSI C语言编写的、遵守BSD协议、支持网络、可基于内存可持久化的日志型、key-value数据库;通常被称为数据结构服务器。

连接成功后,订阅msg_0主题的消息

当有新的message时,Swoole\Redis会触发onMessage事件回调

在这个回调函数中使用$server->connections遍历服务器所有的连接,发送消息

相关推荐:《redis教程》

以上就是实现从Redis中订阅消息转发到 WebSocket 客户端的详细内容,更多请关注ki4导航其它相关文章!

如何配置redis外网可访问并只允许指定的ip可访问redis 找Redis教程就上ki4.cc (>^ω^<)

在 Linux 中安装了redis 服务,当在客户端通过远程连接的方式连接时,报could not connect错误。错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。 需要通过简单

标签

版权说明
免责声明:本文文章内容由ki4导航网发布,但不代表本站的观点和立场,具体内容可自行甄别.