Mysql
 sql >> база данни >  >> RDS >> Mysql

Как работи memcache с MySQL?

Кешът като цяло е много бърз механизъм за съхранение на ключ/стойност, където можете да съхранявате стойности (обикновено сериализирани) чрез предварително определен ключ, така че можете да извличате съхранените стойности чрез същия ключ.

Във връзка с 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 за повече информация има някои добри примери и коментари.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате phpMyAdmin в собствено приложение

  2. Използване на % за хост при създаване на потребител на MySQL

  3. Грешка в MySQL/Writing File (Errcode 28)

  4. MySQL:ПОРЪЧАЙ ПО с празна дата '0000-00-00' като последна, но останалите ASC

  5. Добавете колона с първичен ключ към стара таблица без първичен ключ