我试图将从 mysqli_query 返回的结果存储为缓存,因此,如果执行相同的“SELECT”语句,它将从缓存中获取而不是通过 mysql 服务器,但无论我尝试使用序列化/json_encode 执行什么操作,都将使用以下代码,解码甚至只是将输出存储为变量,我做不到
$row = $this->result->fetch_object();
代码如下。有谁知道为什么?如何存储返回的结果并重新使用它?它不适用于 $this->result = mysqli_query($dbh, $query);
global $dbcache;
// $this->result = mysqli_query( $dbh, $query );
if (isset($dbcache[$query])){
$this->result = json_decode($dbcache[$query]);
// echo 'JSON? = '.$query.'<br>'.$dbcache[$query];
}else{
// echo ' === '.$dbcache[$query].' === '."\n";
$this->result = mysqli_query( $dbh, $query );
//$dbcache[$query] = serialize($this->result);
$dbcache[$query] = json_encode($this->result);
// echo 'Serialize? = '.$query."\n".hash('sha3-512' , $query).'<br>';
}
冉冉说