作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个使用长轮询概念的小脚本。
它的工作原理如下:
我已完成所有安全检查。问题是当记录被删除或更新时,没有办法知道这一点。
我能得到的最接近的解决方案是计算行数并将其与一些已保存的行计数变量相匹配。但是,如果我有 1000 条记录,我必须回显所有 1000 条记录,这可能是一个很大的性能问题。
此应用程序的 CRUD 功能完全分离并在不同的服务器上运行。所以我不知道删除了哪条记录。
我不需要任何编码方面的帮助,但我正在寻找一些建议以在更新和删除时完成这项工作。
请注意,websockets(我的最爱)和 node.js 不适合我。
最佳答案
除了使用表中的特定 ID,您还可以检查表本身上次修改的时间。
SQL:
SELECT UPDATE_TIME
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'yourdb'
AND TABLE_NAME = 'yourtable';
如果成功,语句应该返回类似的东西
UPDATE_TIME
2014-04-02 11:12:15
然后使用生成的时间戳代替 lastid
。我正在使用一种非常相似的技术来显示和自动刷新日志,效果非常好。
您必须根据需要调整语句,并将 yourdb
和 yourtable
替换为您的应用程序所需的值。它还要求您有权访问 information_schema.tables
,因此请检查这是否也可用。
两种替代方案:
lastid
来覆盖新插入物。关于php - 使用 PHP 和 jQuery 进行长轮询 - 更新和删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805569/
我是一名优秀的程序员,十分优秀!