go监听mysql事件更新,有没有一种方法可以“监听”数据库事件并实时更新页面?...
我正在寻找一种创建简单的HTML表的方法,该表可以在数据库更改事件发生时进行实时更新。特别是添加了新记录。
换句话说,将其视为执行人员仪表板。如果进行了销售并且在数据库中添加了新行(在本例中为MySQL),则网页应使用新行“刷新”表。
我已经看到了有关新EVENT
GATEWAY用法的一些信息,但是所有示例都将Coldfusion用作“推动者”,而不是“消费者”。我想让Coldfusion既将事件更新/推送到网关,又消耗响应。
如果可以结合使用AJAX和CF来完成此操作,请告诉我!
我真的只是想了解从哪里开始实时更新。
先感谢您!!
编辑/所选答案的说明:
我最后给出了@ bpeterson76的答案,因为目前最容易在小规模实现。我非常喜欢他的Datatables建议,这就是我用来实时更新的内容。
但是,随着我的站点变大(希望如此),我不确定这是否是可扩展的解决方案,因为每个用户都将访问“侦听器”页面,然后查询我的数据库。我的查询相对简单,但是我仍然担心将来的性能。
但是我认为,随着HTML5开始成为Web标准,@
iKnowKungFoo建议的Web套接字方法很可能是最好的方法。长时间轮询的彗星也是一个好主意,但是实现起来有点麻烦/似乎还存在一些缩放问题。
因此,让我们希望网络用户开始采用支持HTML5的更现代的浏览器,因为Web套接字是一种相对容易且可扩展的方式来接近实时。
如果您觉得我做错了决定,请发表评论。
最后,这是全部的一些源代码:
Javascript:
注意,这是一个非常简单的实现。
它只是在查看当前数据表中的记录数是否已更改,如果已更改,则更新表并引发警报。生产代码更长,涉及更多。这只是显示了一种接近实时更新的简单方法。
var originalNumberOfRecsInDatatable = 0;
var oTable;
var setChecker = setInterval(checkIfNewRecordHasBeenAdded,5000); //5 second intervals
function checkIfNewRecordHasBeenAdded() {
//json object to post to CFM page
var postData = {
numberOfRecords: originalNumberOfRecsInDatatable
};
var ajaxResponse = $.ajax({
type: "post",
url: "./tabs/checkIfNewItemIsAvailable.cfm",
contentType: "application/json",
data: JSON.stringify( postData )
})
// When the response comes back, if update is available
//then re-draw the datatable and throw an alert to the user
ajaxResponse.then(
function( apiResponse ){
var obj = jQuery.parseJSON(apiResponse);
if (obj.isUpdateAvail == "Yes")
{
oTable = $('#MY_DATATABLE_ID').dataTable();
oTable.fnDraw(false);
originalNumberOfRecsInDatatable = obj.recordcount;
alert('A new line has been added!');
}
}
);
}
Coldfusion:
SELECT COUNT(ID) as total
FROM myTable
{"isUpdateAvail": "Yes", "recordcount": #qCount.total#}
{"isUpdateAvail": "No"}
go监听mysql事件更新,有没有一种方法可以“监听”数据库事件并实时更新页面?...相关推荐
- 声卡突然听不到监听_电脑突然听不到声音怎么办?介绍两种方法
电脑突然听不到声音怎么办?介绍两种方法 发布时间:2017-04-12 23:32 来源:互联网 当前栏目:电脑技巧 大家在使用电脑的过程中可能会遇到这样一种情况,电脑在正常使用时突然听不到声音了,这 ...
- mysql如何防止插入重复数据_防止MySQL重复插入数据的三种方法
新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...
- mysql 禁止插入重复数据_防止MySQL重复插入数据的三种方法
新建表格 CREATE TABLE `person` ( `id` int NOT NULL COMMENT '主键', `name` varchar(64) CHARACTER SET utf8 C ...
- mysql 随机取几万数据,mysql随机取数据的几种方法
摘要 腾兴网为您分享:mysql随机取数据的几种方法,周公解梦,小t智联,图乐,千题库等软件知识,以及2018酷狗音乐vip,集装箱之家,兄弟3150驱动,听书,熊猫办公,四年级上册语文书,winma ...
- MySQL——修改root密码的4种方法(以windows为例)
本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助 方法1: 用SET PASSWORD命令 首先登录MySQL. ...
- Android 更新UI的两种方法——handler和runOnUiThread()
Android 更新UI的两种方法--handler和runOnUiThread() 在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外 ...
- mysql如何通过数据库修改root_MySQL数据库之MySQL——修改root密码的4种方法(以windows为例)...
本文主要向大家介绍了MySQL数据库之MySQL--修改root密码的4种方法(以windows为例) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 方法1: 用SET PAS ...
- 【转】探讨android更新UI的几种方法----不错
原文网址:http://www.cnblogs.com/wenjiang/p/3180324.html 作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因 ...
- MySQL 重命名表名 2种方法
今天用 phpMyAdmin 创建了一张表后,发现"表名字"取得有点后悔,想直接删除重新创建一个,但是这个表的字段又有点多,居然有30多个字段,后来就找到了MySQL表重命名的方法 ...
最新文章
- C 语言中的 switch 语句 case 后面是否需要加大括号
- SegWit与BCH交易量及投资者流量更新
- java笔记:自己动手写javaEE
- python3发送https请求_关于python 3.x:如何在不引起python3的SSL证书错误的情况下将POST请求发送到https...
- php操作外部文件,php文件操作-将其他文件的数据添加到本文件中
- 循序渐进看Java web日志跟踪(2)-Java日志API认识
- [译]使用LazZiya.ExpressLocalization开发多语言支持的ASP.NET Core 2.x项目
- vim 删除行_【收藏】138条 Vim 命令、操作、快捷键全
- python白森_氧气恋人
- html 分页 惰性加载,懒加载实现的分页网站footer自适应
- 前端安全沙箱技术如何解决开源安全问题?
- protues仿真出现Simulation is not running in real time....的情况处理
- 【mysql】mysql 导出全库表结构,并排除指定库
- c语言编程符号函数sgn,在C/C中是否有标准符号函数(signum,sgn)?
- springCloud-day04
- 【文摘】《原则》——雷.达里奥
- RHEL8.0快速入门系列笔记--理论知识储备(一)
- C/C++ 用递归(分治法)解决多米诺骨牌问题
- Android Camera2 CameraCharacteristics Key 详细解说
- WinEdt中英文字体调节
热门文章
- Java stream! Kafka steam!流式处理这么火!它究竟是个啥?
- 缓存穿透、并发和雪崩那些事
- 伟大公司为什么都考核价值观?
- 张一鸣的微博世界-产品篇一
- 用Leangoo看板工具做办公室采购流程管理
- ubuntu apt-get停在了“configuring ttf-mscorefonts-installer”
- .NetCore Winform控制台 做HTTP Host,简易接口
- Java axis 配置host_Java AxisProperties类代码示例
- 一个超干货的3D视觉学习社区
- 如何进行相机的绝对位置估计?