php使用memcache连接数据库展示数据

<?php
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的唯一标识符*/
$sql = "select * from jy_city";
$key=md5($sql);
/* 先从memcached服务器总获取数据 */
$data=$memcache->get($key);
/* 如果没有数据就要从数据库中获取*/
if(!$data){
try{
$pdo=new PDO("mysql:host=127.0.0.1;dbname=shop10","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 "<pre>";
print_r($data);
?>

猜你喜欢

转载自blog.csdn.net/qq_42611547/article/details/84978700