我正在寻找一种方法来存储通过 API 传入的一些数据,并能够从同一脚本的另一个实例访问这些数据。基本上,当我收到一个请求时,我想将数据保留 5 秒,然后查看另一个请求是否在 5 秒内匹配其中一个字段。我已经通过会话和使用 APC 尝试了几种方法。下面是代码的 APC 版本,会话版本与 APC 位切换为相应的会话位相同。
发生的情况是,无论我尝试使用哪种机制来存储数据,脚本的第二个实例都看不到存储的信息。
预先感谢您的帮助。
//data exists, this is the second request with matching data.
if(apc_exists('key')){
//do work
//delete first request data from storage so it does not get processed below.
apc_delete('key');
} else {
//no data for this key, store data and wait 5 secs.
apc_add('key', $data);
sleep(5);
//stored data still exists, this is the only request coming with this data.
if(apc_exists('key')){
//do work
} else {
//data no longer exists, taken care of by other instance, just exit.
exit();
}