十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最好的办法是,在应用程序生命周期内,对于数据库设置有事件钩子,用于监听程序对于数据库的操作。这样非常方便处理逻辑流程。
创新互联是一家专业提供聂拉木企业网站建设,专注与做网站、网站制作、H5网站设计、小程序制作等业务。10年已为聂拉木众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
1 - 表的数据变化
表数据发生了变化,毫无疑问是写操作,包括以下几种情形:
新建条目 create
更新条目 update
删除条目 delete
以上三种都是写操作,会对表数据写入。
2 - 事件钩子
既然需要实时监控,那么每个数据库的操作,都需要考虑在内,这是全局的监听。
以laravel的Eloquent ORM 模型触发事件,允许你挂接到模型生命周期的如下节点: retrieved、creating、created、updating、updated、saving、saved、deleting、deleted、restoring 和 restored。事件允许你每当特定模型保存或更新数据库时执行代码。每个事件通过其构造器接受模型实例。
模型内添加事件监听钩子
如果重用率很高,那么使用观察者 Observer 方式进行监听更为高效。
Laravel Observer
结语
上面的方法要求读者有laravel框架的使用基础,对于构建中大型应用非常有利。
你的意思是:数据库一发生变化,你就得知道是吗?
PHP无法实现这功能,
只有LINUX 跑 shell脚本,每X分钟执行查询语句
要么就是你每执行一条语句,写入日志。
那你可以在插入数据库那里设置监听呀,一有插入就往Android推送消息。
不然你只能通过每隔一段时间刷新一下读取数据库,看看有没有更新,有就推送,没有就继续监听,这个你可以自己设置更新时间。