कैश, सामान्य रूप से, एक बहुत तेज़ कुंजी/मूल्य भंडारण इंजन है जहां आप पूर्व निर्धारित कुंजी द्वारा मूल्यों (आमतौर पर क्रमबद्ध) को स्टोर कर सकते हैं, ताकि आप उसी कुंजी द्वारा संग्रहीत मानों को पुनर्प्राप्त कर सकें।
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));
memcached पर PHP दस्तावेज़ देखें अधिक जानकारी के लिए, कुछ अच्छे उदाहरण और टिप्पणियाँ हैं।