websocket php MySQL_Swoole WebSocket 实现mysql实时数据展示

最近在学习swoole,自己完成下论坛里留下的作业,通过swoole_websocket实时展示mysql数据,有个遗留问题,如何判断mysql是否有增删改,我想到的方法有:

1、在应用层中有增删改时,发一个消息到消息队列来监听。

2、解析mysql bin-log日志。

3、触发器。

现在的解决办法是利用触发器,例子中我只监听了一个表,当有多个表时,需要添加大量触发器,触发器本身占用很多资源,太多触发器也不好管理,之后会再想办法解析下bin-log日志来监听Mysql数据变化。

服务端代码

/**

* Created by PhpStorm.

* User: qyc

* Date: 2017/10/22

* Time: 下午4:40

*/

define('HOST', '0.0.0.0');

define('PORT', '9502');

define('WORKER_NUM', 8);

define('DISPATCH_MODE', 2);

define('DAEMONIZE', 0);

class swoole_ws

{

private $pdo;

private $server;

//这里写死了数据表,之后完成数据库监听后改写这里逻辑

private $table

= [

'swoole_test',

];

public function __construct()

{

$this->server = new swoole_websocket_server(HOST, PORT);

$this->server->set(

[

//开启woker进程数

'worker_num' => WORKER_NUM,

//请求分发策略,

'dispatch_mode' => DISPATCH_MODE,

//是否守护进程

'daemonize' => DAEMONIZE,

]

);

$this->server->on('message', [$this, 'onMessage']);

$this->server->on('open', [$this, 'onOpen']);

$this-&g

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值