U kunt het resultaatobject niet opslaan, nee, maar u kunt alle rijen in een array ophalen en die array opslaan. Of u uw code op andere plaatsen moet herstructureren, hangt af van hoe u uw code hebt geschreven en hoe goed u eerder toegang tot de database hebt geabstraheerd.
Als u bijvoorbeeld een functie als deze heeft:
function database_result($query) {
...
$result_array = $result->fetchAll();
return $result_array;
}
Dan kun je Memcached caching binnen die functie toevoegen:
function database_result($query, $expire = 60) {
$memcached_key = 'db:' . $query;
$cached = $memcached->get($memcached_key);
if ($memcached->getResultCode() !== Memcached::RES_NOTFOUND) {
return $cached;
}
...
$result_array = $result->fetchAll();
$memcached->set($memcached_key, $result_array, $expire);
return $result_array;
}
Als je overal het onbewerkte PDO- of MySQLi-object gebruikt, heb je meer werk te doen.