正常PHP-FPM模式下 static可以用做當(dāng)前請求的全局緩存 如下列代碼:
class Model {
static $cache = null;
public function getCache(){
if(self::$cache === null) {
...
self::$cache = ...;
}
return self::$cache;
}
}
業(yè)務(wù)邏輯判斷當(dāng)前模型緩存是否存在 如果存在則直接返回模型緩存 不存在則從數(shù)據(jù)庫或Redis中獲取 不用每次從Redis或數(shù)據(jù)庫中獲取。
因為是FPM模式 所以業(yè)務(wù)完成后靜態(tài)變量自動清空 不會相互影響 請問webman需要如何實現(xiàn)?
緩存放request對象里就行了,請求結(jié)束,請求對象就釋放了,和php-fpm一個效果
class Model {
public function getCache(){
$request = request();
if(!isset($request->cache)) {
...
$request->$cache = ...;
}
return $request->$cache;
}
}