sql >> Databasteknik >  >> RDS >> Mysql

Memcache - lagra mysql-resultat

Du kan inte lagra resultatobjektet, nej, men du kan hämta alla rader till en array och lagra den arrayen. Om du behöver omfaktorisera din kod på andra ställen beror på hur du har skrivit din kod och hur väl du har abstraherat databasåtkomst tidigare.

Till exempel, om du har en funktion som denna:

function database_result($query) {
   ...
   $result_array = $result->fetchAll();
   return $result_array;
}

Sedan kan du lägga till Memcached caching i den funktionen:

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;
}

Om du använder det råa PDO- eller MySQLi-objektet överallt, har du mer att göra.



  1. Gruppera data med OVER- och PARTITION BY-funktionerna

  2. Skapa databas i Shell Script - konvertera från PHP

  3. Hur man använder FILEGROUPPROPERTY() i SQL Server

  4. 11 SQL Server-index bästa praxis för förbättrad prestandajustering