如何用PHP进行异步处理


项目中遇到这样的问题:

浏览器访问某一页面,服务器相应地查询数据库,生成json给前端,并且在数据库中更新该页面的浏览量。

查看日志发现,“更新数据库中该页面的浏览量”字段非常耗时,整个过程400ms,它占了一半。

想到我们没必要在等数据库更新完毕后再给用户返回数据,这两步完全可以异步执行。考虑PHP的异步操作。

PHP异步操作的解决方案有很多:

1. http://www.360doc.com/content/11/0123/17/397482_88527668.shtml Gearman的php扩展,通过建立一个一直运行的守护进程(Deamon)来实现异步处理。

2. http://www.dewen.io/q/3970/ 使用fscokopen,或消息队列。

其实它的本质是用多线程甚至是多进程来解决异步问题。

待补充

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.