PHP:存储脚本的另一个实例的数据

时间:2013-06-11 21:40:57

标签: php session-variables apc

我一直在寻找一种方法来存储通过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();
}

1 个答案:

答案 0 :(得分:1)

APC不保证可以与CGI / FastCGI SAPI一起使用 - 您可以更好地查看redis,memcached或其他独立于php的键值存储引擎。