Memcache เพิ่มประสิทธิภาพให้กับแอพพลิเคชัน (PHP, MySQL)ต่อเนื่องจากกระทู้
อยากทราบวิธีติดตั้ง Memcache อะครับ เห็นว่ามีประโยชน์เลยขอขยายความเพิ่มเติมให้ครับ
Memcache (อ่านว่า "เมมแคช") โปรแกรมระบบแคชบนหน่วยความจำ (memory) ที่มีประสิทธิภาพสูง เป็นระบบประมวลผลแบบกระจาย (distributed processing) วัตถุประสงค์หลักในการติดตั้ง Memcache เพื่อให้เข้าถึงฐานข้อมูลและได้ผลลัพธ์อย่างรวดเร็ว โดยที่เก็บผลลัพธ์คำสั่งในการคิวรีไว้ชั่วคราว (datastore query)
memcache โดยปกติจะนำไปใช้กับพวกเว็บแอพพลิเคชัน เช่น
- แอพพลิเคชันที่มีการรับคำสั่งคิวรีจากผู้ใช้จำนวนมาก
- แอพพลิเคชันที่ตรวจสอบข้อมูลที่จำเป็นต่อการคีวรี
หากมีข้อมูลอยู่ใน memcache แอพพลิเคชันจะเรียกข้อมูลจากเมมแคช
แต่ถ้าหากไม่มีอยู่ใน memcache โปรแกรมจะเริ่มคิวรีใหม่แล้วเก็บผลลัพธ์ลง query datastore สำหรับเรียกใช้ในครั้งต่อไป
สรูป ใช้งานกับ Web application ในองค์กรนี่แหละครับ (PHP+MySQL) หรือ Web Hosting ที่มี connection database จำนวนมาก และมีการ query ที่ซับซ้นจากเว็บแอพพลิเคชันผู้ใช้ ดังนั้น Memcache นี้แหละช่วยได้ครับ กรณี Web Hosting รองรับ Memcache ถ้าใช้ CMS อย่าง Wordpress, Drupal ก็จะมีส่วนเสริมสำหรับอินทิเกรตเข้ากับระบบ Memcache (ถ้ามี code ก็ต้องแก้ไข code เดิม) แต่โดยทั่วไปแล้วจะเป็น ionCube PHP Accelerator + Zend Optimizer ซะมากกว่า
แล้วเราจะรู้ได้อย่างไรว่า Web Hosting ไหนรองรับ Memcache?<?php
/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);
/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);
?>
Reference :http://dev.mysql.com/doc/refman/5.1/en/query-cache.htmlhttp://memcached.orghttp://wordpress.org/extend/plugins/memcachier/