国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman是否有當(dāng)前請求的全局緩存

miaoxiaoye

正常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)?

1545 1 1
1個回答

keytehu

緩存放request對象里就行了,請求結(jié)束,請求對象就釋放了,和php-fpm一個效果

class Model {
    public function getCache(){
        $request = request();
        if(!isset($request->cache)) {
            ...
            $request->$cache = ...;
        }
        return $request->$cache;
    }

}
  • miaoxiaoye 2023-01-06

    這個代碼不對吧 $request 這個是局部變量 這也不是給request()賦值啊 給局部變量復(fù)制 方法運行完 就會自動釋放啊

  • keytehu 2023-01-06

    request()返回的是全局的request對象,給$request對象賦值就是給全局的$request對象賦值

  • miaoxiaoye 2023-01-06

    好的 那我試試 謝謝

年代過于久遠(yuǎn),無法發(fā)表回答
??