Кешът като цяло е много бърз механизъм за съхранение на ключ/стойност, където можете да съхранявате стойности (обикновено сериализирани) чрез предварително определен ключ, така че можете да извличате съхранените стойности чрез същия ключ.
Във връзка с MySQL, вие бихте написали кода на приложението си по такъв начин, че да проверите за наличието на данни в кеша, преди да подадете заявка към базата данни. Ако бъде намерено съвпадение (съответстващ ключ съществува), тогава ще имате достъп до данните, свързани с ключа. Целта е да не се изпраща заявка към по-скъпата база данни, ако може да бъде избегната.
Пример (само демонстративен):
$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));
Вижте PHP документи на memcached за повече информация има някои добри примери и коментари.