Maison >développement back-end >tutoriel php >php使用MemCache查询数据库

php使用MemCache查询数据库

WBOY
WBOYoriginal
2016-07-29 09:14:301038parcourir
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(PDOException $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 "
";

以上就介绍了php使用MemCache查询数据库,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:ubuntu安装redisphp扩展Article suivant:SO_REUSEADDR vs SO_REUSEPORT