日期:2014-05-17  浏览次数:20598 次

关于使用php 多线程处理高并发的搜索请求的问题!
我用php给android做后端,现在androdi有一个搜索功能,就是输入关键词进行搜索。我打算写两个方法来共同处理高并发搜索请求的情况,第一个方法接收手机POST过来的关键词并且存入redis做的消息队列里面。第二个方法负责从消息队列取关键词进行搜索然后返回搜索结果。但是手机post关键词的地址是第一个方法的地址,因此只能接收第一个方法返回的值。可是我是第二个方法处理搜索功能,即使搜索出结果了又如何返回给手机呢?所以我想到多线程的方式,可是php不支持多线程,听说gearman可以实现类似多线程的方式,该怎么操作呢?
多线程 并发 搜索 php gearman

------解决方案--------------------
从你描述的流程上看,你依然采用的是传统的即时查询方式
无论你构想的多么机巧,用户总是要等待查询的结果而占用连接

接收到请求的关键字,立即返回已缓存的结果(如该关键字没有缓存,则直接查询并缓存)
同时将该关键字存入队列,以备检查更新