header("Content-type:text/html;charset=utf-8");
/**
*
用于执行所有结果集的sql语句,并将结果集缓存到memcached服务器中
*
@param
string
$sql
有结果集的查询语句SQL
* @param
object
$memcache
Memcache类的
对象*
@return $date
返回结果集的数据
*/
function select($sql,Memcache $memcache){
/* md5 sql命令 作为memcache的唯一标识符*/
$key=md5($sql);
/* 先从memcached服务器总获取数据 */
$data=$memcache->get($key);
/* 如果没有数据就要从数据库中获取*/
if(!$data){
try{
$pdo=new PDO("mysql:host=localhost;dbname=test","root","root");
}catch(PDO
Exception $e){
die("连接失败:".$e->getMessage());
}
$pdo->query("set names utf8");
//防止乱码
$stmt=$pdo->prepare($sql);
$stmt->execute();
$data=$stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
//测试
$memcache->add($key,$data,MEMCACHE_COMPRESSED,0);
}
return $data;
}
$mem=new Memcache;
$mem->connect("localhost","11211");
$data=select("select * from book",$mem);
//echo "
";<br><span></span>print_r($data);<br><span></span>//echo "
Salin selepas log masuk
";
以上就介绍了php使用MemCache查询数据库,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。