将mysql中的数据读出,并写入memcache,再次查询的时候,如果memcache存在该数据,则直接读出,如果不存在,则从mysql中查询,然后写入memcache内存。
$mem = new Memcache;
$mem->connect($MEM_HOST,$MEM_PORT);
function query_memcache($sql,$realSql="",$memcachelife) {
global $mem;
if($realSql=="") $realSql=$sql;
$key = md5($sql);
if(!($query = $mem->get($key))) {
$query = query_mysql($realSql);
$mem->set($key, $query , 0 , $memcachelife);
}
return $query;
}
function query_mysql($sql) {
global $DB_HOST,$DB_USER,$DB_PASS,$DB_NAME;
$dblink = new mysqli($DB_HOST,$DB_USER,$DB_PASS,$DB_NAME);
$query_result = $dblink->query($sql);
while($item = $query_result->fetch_array()) {
$res[] = $item;
}
$result = $res;
$query_result->close();
$dblink->close();
return $result;
}