是否有用于监视数据库表更改的Perl POE模块?
在使用POE模块的Perl中,是否有任何Wheel/POCO/选项可以执行此操作: 我希望监视DB表中更改的记录(删除/插入/更新),并对这些更改做出相应的反应是否有用于监视数据库表更改的Perl POE模块?,perl,poe,Perl,Poe,在使用POE模块的Perl中,是否有任何Wheel/POCO/选项可以执行此操作: 我希望监视DB表中更改的记录(删除/插入/更新),并对这些更改做出相应的反应 如果是,你能提供一些代码或链接来说明这一点吗?我不知道,但如果你真的很勤奋,你可以写一个。我可以想出两种方法 最好先访问事务日志/复制提要,例如MySQL binlog。为其格式编写一个,然后使用获取一个事件流,每个影响DB的语句对应一个事件流。然后,您可以过滤数据以找到您感兴趣的内容 不太好的主意:使用来对表运行定期选择,看看发生了什
如果是,你能提供一些代码或链接来说明这一点吗?我不知道,但如果你真的很勤奋,你可以写一个。我可以想出两种方法 最好先访问事务日志/复制提要,例如MySQL binlog。为其格式编写一个,然后使用获取一个事件流,每个影响DB的语句对应一个事件流。然后,您可以过滤数据以找到您感兴趣的内容
不太好的主意:使用来对表运行定期选择,看看发生了什么变化。如果您的数据很小,它可以工作(但仍然容易出现时间问题);如果您的数据很大,这将是一个悲惨的失败。如果您使用的是PostgreSQL,您可以在表的更改上创建一个名为NOTIFY的触发器,并在客户端应用程序中打开连接并对相同的通知执行侦听。然后,您可以让POE侦听DBD::Pg Pg_套接字文件描述符上的文件事件 或者,您可以创建一个导致触发另一个文件或网络事件的SQL触发器(写入一个名为管道或套接字的文件),并让POE监听该事件