Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Memcache với MySQL hoạt động như thế nào?

Nói chung, bộ nhớ cache là một công cụ lưu trữ khóa / giá trị rất nhanh, nơi bạn có thể lưu trữ các giá trị (thường được tuần tự hóa) bằng một khóa xác định trước, vì vậy bạn có thể truy xuất các giá trị được lưu trữ bằng cùng một khóa.

Liên quan đến MySQL, bạn sẽ viết mã ứng dụng của mình theo cách như vậy, bạn sẽ kiểm tra sự hiện diện của dữ liệu trong bộ nhớ cache, trước khi đưa ra yêu cầu đến cơ sở dữ liệu. Nếu tìm thấy một kết quả phù hợp (khóa phù hợp tồn tại), thì bạn sẽ có quyền truy cập vào dữ liệu được liên kết với khóa đó. Mục đích là không đưa ra yêu cầu đối với cơ sở dữ liệu tốn kém hơn nếu có thể tránh được.

Một ví dụ (chỉ mang tính minh họa):

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

Xem tài liệu PHP trên memcached để biết thêm thông tin, có một số ví dụ và nhận xét tốt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli_connect ():(HY000 / 2002):Không thể kết nối với máy chủ MySQL cục bộ thông qua socket

  2. Kết nối MySQL với Visual Studio C #

  3. Symfony3 cách lưu trữ vai trò người dùng trong cơ sở dữ liệu

  4. Kết nối đăng ký Facebook

  5. Cách làm cho mysql chấp nhận các kết nối bên ngoài