您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

mysql更改时调用推送程序

mysql更改时调用推送程序

War? 这可能会导致数据库变慢。给定每个插入的sys exec’curl,这将引入相对较差的性能。最好还有一个触发器将消息写入另一个表,并让另一个进程在循环中检查新行。

MysqL使通过存储过程将代码包装到易于访问的 变得简单。您可以使用pusher创建类似的内容,而我知道如何使用PubNub进行创建。因此,这里是PubNub和MysqL快速指南。您追求的就是简单,这就是您的解决方案!我将引导您通过一种简单的方法,将表上的所有 , 和 操作绑定到每次都会被调用的存储函数,并使用PubNub轻松地向您的移动和Web应用发送推送通知

DELIMITER $$
CREATE PROCEDURE push_message
(p1   DOUBLE,
 p2   DOUBLE,
 p3 BIGINT)
BEGIN
 DECLARE cmd CHAR(255);
 DECLARE result CHAR(255);
 SET cmd = CONCAT('curl https://pubsub.pubnub.com/publish/demo/demo/0/MysqL_triggers/0/%22',p1, ',' ,p2, ',' ,p3,'%22');
 SET result = sys_eval(cmd);
END$$;

注意:确保您的过程类型是正确的 或 或 。

CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

注意:确保在推送消息中包括此处需要的列。

CREATE TRIGGER push_message_trigger AFTER UPDATE ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

http://www.pubnub.com/console?sub=demo&pub=demo&channel=mysql_triggers-您可以观看通过PubNub Dev Console触发的触发器。这样,您就可以了解需要更改哪些参数,以及哪些数据对您很重要,以便将它们包含在PubNub websocket可以接收的每个推送通知中,以及在移动和Web设备上的更多通知

<div id=pubnub ssl=on></div>
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){

    PUBNUB.init({
        subscribe_key : 'demo',
        ssl           : true
    }).subscribe({
        channel  : 'MysqL_triggers',
        callback : function(MysqL_trigger_details) {
            alert(MysqL_trigger_details);
        }
    });

})();</script>

现在,您已经具有通过简单的过程直接从MysqL 发送和接收 所需的步骤。还有一些方法可以优化此方法,例如向守护程序进程发出信号,该进程对HTTPS推送通知进行排队和缓冲。这应该足够高效。

MySQL 2022/1/1 18:15:36 有798人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶