Ogólnie rzecz biorąc, pamięć podręczna jest bardzo szybkim mechanizmem przechowywania kluczy/wartości, w którym można przechowywać wartości (zwykle zserializowane) za pomocą z góry określonego klucza, dzięki czemu można pobierać przechowywane wartości za pomocą tego samego klucza.
W odniesieniu do MySQL pisałbyś kod aplikacji w taki sposób, aby przed wysłaniem żądania do bazy danych sprawdzać obecność danych w pamięci podręcznej. Jeśli zostanie znalezione dopasowanie (pasujący klucz istnieje), będziesz miał dostęp do danych powiązanych z kluczem. Celem jest, aby nie wysyłać żądania do bardziej kosztownej bazy danych, jeśli można tego uniknąć.
Przykład (tylko poglądowy):
$cache = new Memcached();
$cache->addServer('servername', 11211);
$myCacheKey = 'my_cache_key';
$row = $cache->get($myCacheKey);
if (!$row) {
// Issue painful query to mysql
$sql = "SELECT * FROM table WHERE id = :id";
$dbo->prepare($sql);
$stmt->bindValue(':id', $someId, PDO::PARAM_INT);
$row = $stmt->fetch(PDO::FETCH_OBJ);
$cache->set($myCacheKey, serialize($row));
}
// Now I have access to $row, where I can do what I need to
// And for subsequent calls, the data will be pulled from cache and skip
// the query altogether
var_dump(unserialize($row));
Zapoznaj się z dokumentacją PHP na memcached aby uzyskać więcej informacji, jest kilka dobrych przykładów i komentarzy.