Gearman static变量注意的点

记录下Gearman下面static变量会遇到的问题.


class Ticket{
static public function config(){
return []//从数量库中获取;
}

static public function getTicketConfig($itype){
static $configHash;
$configHash or $configHash = self::config();
return $configHash[$itype]?$configHash[$itype]:[];
}
}

 

这行代码如果在常规的BS架构中是可以减少数据库请求次数的,config()方法中的数据会在下一次请求的时候同步变化,在本次请求中是保持不变的.

但是如果放到gearman下面因为是无限循环模式会导致static变量永远不再更新,直到你重启worker端.有可能影响业务逻辑!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code