sql >> Databáze >  >> RDS >> Mysql

Jak funguje memcache s MySQL?

Mezipaměť je obecně velmi rychlý modul úložiště klíč/hodnota, kde můžete ukládat hodnoty (obvykle serializované) pomocí předem určeného klíče, takže uložené hodnoty můžete načíst pomocí stejného klíče.

Ve vztahu k MySQL byste kód své aplikace napsali tak, že byste před odesláním požadavku do databáze zkontrolovali přítomnost dat v mezipaměti. Pokud by byla nalezena shoda (odpovídající klíč existuje), budete mít přístup k datům spojeným s klíčem. Cílem je nevydávat požadavek do dražší databáze, pokud se tomu dá vyhnout.

Příklad (pouze demonstrativní):

$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));

Podívejte se na dokumenty PHP na memcached pro více informací je zde několik dobrých příkladů a komentářů.



  1. Kde si mohu stáhnout ukázkovou databázi Mysql?

  2. Jak opravit nevyřešený externí symbol kvůli MySql Connector C++?

  3. MySQL Existuje omezení pro InnerJoin?

  4. Příklad klauzule Oracle Trigger WHEN