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

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

miaoxiaoye

正常PHP-FPM模式下 static可以用做當(dāng)前請(qǐng)求的全局緩存 如下列代碼:

class Model {
    static $cache = null;

    public function getCache(){
        if(self::$cache === null) {
            ...
            self::$cache = ...;
        }
        return self::$cache;
    }

}

業(yè)務(wù)邏輯判斷當(dāng)前模型緩存是否存在 如果存在則直接返回模型緩存 不存在則從數(shù)據(jù)庫(kù)或Redis中獲取 不用每次從Redis或數(shù)據(jù)庫(kù)中獲取。

因?yàn)槭荈PM模式 所以業(yè)務(wù)完成后靜態(tài)變量自動(dòng)清空 不會(huì)相互影響 請(qǐng)問(wèn)webman需要如何實(shí)現(xiàn)?

1463 1 1
1個(gè)回答

keytehu

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

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

}
  • miaoxiaoye 2023-01-06

    這個(gè)代碼不對(duì)吧 $request 這個(gè)是局部變量 這也不是給request()賦值啊 給局部變量復(fù)制 方法運(yùn)行完 就會(huì)自動(dòng)釋放啊

  • keytehu 2023-01-06

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

  • miaoxiaoye 2023-01-06

    好的 那我試試 謝謝

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