一般に、キャッシュは非常に高速なキー/値ストレージエンジンであり、事前に定義されたキーで値(通常はシリアル化)を格納できるため、同じキーで格納された値を取得できます。
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ドキュメントを確認してください。いくつかの良い例とコメントがあります。