9-6-2010 11:37:42
Có 2 đồng chí lập trình thiết kế web ngồi nói chuyện với nhau :
A : tôi phát hiện ra thằng MySQL chạy rất chi là rùa?
B : Ừ đúng nó có cả chục kết nối (connection) đến DB MySQL cơ mà, này nhé : khối menu, khối tin tức, khối quảng cáo, khối thời sự, khối tin nhanh, khối liên kết web, khối video ... mối khối 1 conn làm sao nó chẳng nhiều, db chẳng rùa.
A : giải quyết sao giờ ông bạn ?
B : không vấn đề gì tôi đã tìm ra được con memcached ngon vô đối

Tôi sẽ cài nó lên 3 con server và code thế này :
============
$MEMCACHE_SERVERS = array(
"10.1.1.1", //web1
"10.1.1.2", //web2
"10.1.1.3", //web3
);
$memcache = new Memcache();
foreach($MEMCACHE_SERVERS as $server){
$memcache->addServer ( $server );
}
$huge_data_for_frong_page = $memcache->get("huge_data_for_frong_page");
if($huge_data_for_frong_page === false){
$huge_data_for_frong_page = array();
$sql = "SELECT * FROM hugetable WHERE timestamp > lastweek ORDER BY timestamp ASC LIMIT 50000";
$res = mysql_query($sql, $mysql_connection);
while($rec = mysql_fetch_assoc($res)){
$huge_data_for_frong_page[] = $rec;
}
// cache for 10 minutes
$memcache->set("huge_data_for_frong_page", $huge_data_for_frong_page, 600);
}
// use $huge_data_for_frong_page how you please
============
êu cu, 'get huge_data_for_front_page' mày ở đâu ?
- memcached #1 giả nhời ..
- memcached #2 giả nhời ...
- memcached #3 a nó đây rồi !
A : Đáng ngạc nhiên, giờ chỉ còn 1 connect đến DB, hệ thống chạy huỳnh huỵch. Ổn đấy ông ạ


http://code.google.com/p/memcached/wiki/TutorialCachingStory---
http://coder.awas.vnhttp://mobile.awas.vnhttp://vtv.awas.vnhttp://baihatviet.awas.vn