memcache 配合資料庫的實作
<?php
memcache = new Memcache;
memcache->connect('memcached_server', 11211) or die ("Could not connect");
name = memcache->get('A1234567890');
if (!result){ //如果memcache中沒有該筆資料的話從資料庫中select出來,並寫一份cache到memcache中
echo "從資料庫裡面抓出來的資料";
link = mysql_connect ("mysql_server","user","password");
sql = "select name from DB.TABLE where cid='A1234567890'";
result = mysql_query (sql,link);
row = mysql_fetch_array(result);
echo row['name'];
mysql_free_result (result);
mysql_close(link);
memcache->add('A1234567890',row['name'], false, 10); //寫進memcache中,TTL設為10sec
} else {
echo "從memcached裡面抓出來的資料";
echo name;
}
?>
另外咧
insert的sql可以配合memcache->add
update的sql可以配合memcache->set
delete的sql可以配合memcache->delete寫進memcache中
保持database與memcache中的資料一致性
<?php
memcache = new Memcache;
memcache->connect('memcached_server', 11211) or die ("Could not connect");
name = memcache->get('A1234567890');
if (!result){ //如果memcache中沒有該筆資料的話從資料庫中select出來,並寫一份cache到memcache中
echo "從資料庫裡面抓出來的資料";
link = mysql_connect ("mysql_server","user","password");
sql = "select name from DB.TABLE where cid='A1234567890'";
result = mysql_query (sql,link);
row = mysql_fetch_array(result);
echo row['name'];
mysql_free_result (result);
mysql_close(link);
memcache->add('A1234567890',row['name'], false, 10); //寫進memcache中,TTL設為10sec
} else {
echo "從memcached裡面抓出來的資料";
echo name;
}
?>
另外咧
insert的sql可以配合memcache->add
update的sql可以配合memcache->set
delete的sql可以配合memcache->delete寫進memcache中
保持database與memcache中的資料一致性
文章標籤
全站熱搜
