首页 / PHP / php – 重试MySQL查询失败?
php – 重试MySQL查询失败?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 重试MySQL查询失败?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1193字,纯文字阅读大概需要2分钟。
内容图文
![php – 重试MySQL查询失败?](/upload/InfoBanner/zyjiaocheng/905/7ee2059f483a4a97aca6ea325efefafb.jpg)
背景
我在PHP`(5.2)中有一个PayPal IPN处理程序,它处理事务并在MySQL数据库中存储日期.该网站活动量低.
偶尔MySQL查询失败. (很少)我记录了所有内容,如果PayPal消息未能处理,我可以查看我的日志文件并重新发送PayPal消息.
想法/关注
但是我想知道我是否可以让这个过程更加健壮,而是让处理程序在放弃之前重新尝试mysql查询.
我可能想稍微等一下 – 不要紧接着多次查询多次查询.
我本来希望找到一些模式 – 搜索“php mysql query retry”之类的东西,但没有取得多大成功.
问题
>这是否有良好的实践指南?
>现有图书馆?
>在每个查询尝试之间是否有一个简单的循环和休眠,或者是否会产生不良的副作用?太原生了?
解决方法:
php世界中良好的事务安全代码不是常态,但如果你查看java或.net代码示例,有很多例子.
我见过的最好的数据库代码将查询放在一个函数中,并在放弃和记录/排队之前立即重试约3次.希望这会照顾你的问题.
最佳做法是使用innodb表并将所有关键sql语句放在已提交或回滚的事务中.这样,即使一个特定查询失败,您的数据也会处于一致状态. (注意,如果你不小心,这也会加重锁定问题).
您不希望通过轮询进行长时间睡眠,因为这可能会挂起您的用户浏览器.他们需要立即回复以确认购买已通过.将作业放在具有cron作业或服务器守护程序的队列中是另一种方法,但不会给用户提供即时反馈,并且可能因此而过度杀伤.
如果立即重试不起作用,您会遇到其他类型的潜在锁定问题,这是您需要锻炼失败的原因.
内容总结
以上是互联网集市为您收集整理的php – 重试MySQL查询失败?全部内容,希望文章能够帮你解决php – 重试MySQL查询失败?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。