按照我的理解應(yīng)當(dāng)是進(jìn)程啟動(dòng)后復(fù)用同一個(gè)mysql連接,包括Db心跳都是針對(duì)這個(gè)連接的
但是在使用模型情況的時(shí)候出現(xiàn)了問(wèn)題
一旦使用模型方法似乎是新增了一個(gè)mysql連接
這個(gè)連接會(huì)在wait_time后(120s)斷開(kāi)因?yàn)槎〞r(shí)器的心跳不在這個(gè)連接
然后繼續(xù)訪問(wèn)就會(huì)出現(xiàn)gone away類(lèi)似的狀態(tài)
然后重連一次訪問(wèn)成功
兩分鐘的時(shí)候會(huì)自動(dòng)close
第二次訪問(wèn)會(huì)激活重連
然后內(nèi)存那里相應(yīng)會(huì)增加大概2m的內(nèi)存如果全程Db的話
不會(huì)出現(xiàn)這個(gè)情況
所以,如果想用模型有沒(méi)有避免這個(gè)情況的發(fā)生
感覺(jué)問(wèn)的問(wèn)題是不是特別基礎(chǔ),有點(diǎn)不好意思問(wèn)。。。。
我這測(cè)試并沒(méi)有出現(xiàn)你說(shuō)的連接增加的情況。不知道你是不是用了什么特殊的用法。
下面是測(cè)試代碼。
<?php
namespace app\controller;
use support\Request;
class Index
{
public function index(Request $request)
{
return json(\app\model\User::all());
}
}
<?php
namespace app\model;
use support\Model;
class User extends Model
{
protected $table = 'user';
protected $primaryKey = 'uid';
public $timestamps = false;
}
emmm.我坑了,部分測(cè)試代碼沒(méi)有刪除
某個(gè)模型類(lèi)有個(gè)測(cè)試的定義...打擾了 打擾了
protected $connection = 'mysql';