php使用memcache連線資料庫展示資料
阿新 • • 發佈:2018-12-13
<?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); ?>