Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Memcache - przechowywanie wyników mysql

Nie możesz przechowywać obiektu wynikowego, nie, ale możesz pobrać wszystkie wiersze do tablicy i przechowywać tę tablicę. To, czy potrzebujesz refaktoryzacji kodu w innych miejscach, zależy od tego, jak go napisałeś i jak dobrze wcześniej uzyskałeś abstrakcyjny dostęp do bazy danych.

Na przykład, jeśli masz taką funkcję:

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

Następnie możesz dodać buforowanie Memcached wewnątrz tej funkcji:

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

Jeśli wszędzie używasz surowego obiektu PDO lub MySQLi, masz więcej pracy do wykonania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Update pierwsze wystąpienie rekordu

  2. pdo lastInsertId zwraca zero (0)

  3. Bardzo proste wprowadzanie danych przez użytkownika w django

  4. Czy można zdefiniować kolumnę sygnatury czasowej, która nie ma wartości null i nie ma wartości domyślnej ani specjalnego zachowania podczas aktualizacji?

  5. Jak dodać identyfikator automatycznego przyrostu zgodnie z grupą w mysql