話不多說,上代碼,自己看注釋
<?php header("Content-type: text/html; charset=utf-8"); $mem = new Memcache(); $mem->connect('127.0.0.1',11211);//連接memcached $id = 3; $sql = "SELECT * FROM junyi_user WHERE id='$id'"; $key = md5($sql); //數據庫查詢是否已經緩存到memcahced服務器中 if(!($datas = $mem->get($key))) { echo 'mysql<br />'; //如果在memcached中沒獲取過數據,連mysql獲取 mysql_connect('127.0.0.1','root','root');//連接數據庫 mysql_select_db('junyiadmin');//默認連接的數據庫 $result = mysql_query($sql);//執行sql //循環獲取結果集里的數據組成數組 //mysql_fetch_assoc()獲取結果集里的一行並返回,如果沒有了則返回false while($row = mysql_fetch_assoc($result)) { $datas[] = $row; } //再把mysql獲取的數據保存到memcached中,供下次使用 //flag,設置存儲方式是否使用MEMCACHE_COMPRESSED指定對值進行壓縮 //設置儲存的時間,以秒為單位 var_dump($mem->set($key,$datas,false,1000)); $mem->close();//釋放資源 print_r($datas); } else { var_dump($mem->get($key)); $mem->delete($key); $mem->close(); echo 'memcached緩存的數據<br />'; }