多个PHP请求等待一个

多个PHP请求等待一个,php,ajax,concurrency,Php,Ajax,Concurrency,我目前正在开发一个网站。我想缓存来自API的结果,但API速度很慢,所以我必须为相同的结果处理并发PHP请求 当一个PHP收集某个ID的API结果时,我希望下一个相同ID的PHP请求等待第一个请求完成,然后读取缓存的值 我目前的解决方案是在缓存中添加一个空值(如果值为空,新的PHP请求将只是休眠并重新检查),但有时它不起作用 还有其他或更好的方法吗?考虑使用PECL同步库和SyncReaderWriter类提供的同步,或者只使用简单的文件锁定系统 若您想要一个有效的解决方案,我已经创建了PHP缓

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

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

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


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

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

若您想要一个有效的解决方案,我已经创建了PHP缓存库,它可以同步读/写过程,特别是对于上面描述的任务

我想您可能会发现它很有用,请在此处查看: