多个PHP请求等待一个

时间:2017-07-09 13:34:15

标签: php ajax concurrency

我目前正在开发一个网站。我想缓存API的结果但是API很慢,所以我必须处理并发的PHP请求以获得相同的结果。

当PHP收集某个ID的API结果时,我希望下一个相同ID的PHP请求等待第一个完成并只读取缓存的值。

我目前的解决方案是在缓存中添加一个空值(如果值为空,则新的PHP请求将只是睡眠和重新检查)但有时它不起作用。

还有其他或更好的方法吗?

1 个答案:

答案 0 :(得分:0)

考虑使用PECL Sync库和SyncReaderWriter类提供的同步,或者只使用简单的文件锁定系统。

如果你想要工作解决方案,我已经创建了PHP缓存库来同步读/写过程,特别是对于你上面描述的任务。

我认为您可能会发现它很有用,请在此处查看:https://github.com/tztztztz/php-no-slam-cache

相关问题