1
我正在嘗試將一些速度性能添加到我正在使用memcache的項目中。但是我在與以下Memcache + Mysqli無法獲取mysqli_result
public function sql_query($query){
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");
$memkey = md5($query);
$get_result = $memcache->get($memkey);
if ($get_result){
return $get_result;
} else {
$q = $this->mysqli->query($query);
$memcache->set($memkey, $q, false, 120) or die ("Failed to save data at the server");
if ($this->mysqli->error){
App::Error($this->mysqli->error);
}
return $q;
}
}
那肯定是把東西放到memcached的一個問題,但它拉回來的時候了,我得到這個錯誤,並把它作爲我想如果它從緩存中沒有。
"Warning: mysqli_result::fetch_assoc(): Couldn't fetch mysqli_result"
我錯過了什麼嗎?我確信我之前以類似的方式使用了memcache,沒有任何問題。
您應該緩存來自mysqli結果的記錄,例如'$ memcache-> set($ memkey,$ q-> fetch_all(),false,120);'。 – MacMac