5 php mysql database logging transactions
我们正在构建一个ajax应用程序,其中提交用户输入以处理到php脚本.我们目前正在将每个请求写入日志文件以进行跟踪.我想将此跟踪移动到数据库表中,但我不想在请求后运行insert语句.我想要做的是设置需要在MySQL数据库上处理的事务(插入和更新)的"队列".然后,我将设置一个cron作业或进程来检查和处理队列中的事务.有没有我们可以构建的东西,或者我们必须写简单的文本日志文件并处理它们?
您需要Gearman - 它会将请求排队并在数据库准备好时插入它们,这样您就不会超载数据库服务器。
Gearman 提供了一个通用的应用程序框架,将工作外包给其他更适合完成该工作的机器或进程。它允许您并行工作、负载平衡处理以及在语言之间调用函数。它可用于各种应用程序,从高可用性网站到数据库复制事件的传输。换句话说,它是分布式处理如何通信的神经系统。Gearman 的一些优点:
最近有一篇关于使用数据库进行日志记录的(高质量的)帖子,其中(总结)说:
HighScalability在 Gearman 上发表文章。
如果您确实想避免这种情况,可以将原始 SQL 语句写入文件并使用以下 cronjob 处理它们:
mysql loggingDB logTable < fullLog.sql && > fullLog.sql
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2753 次 |
最近记录: |