所需環境:php
php 5.3.3mysql
apache 2.2.7sql
mysql 5.5.8apache
解壓Memcached_1.2.5文檔,cmd下執行memcached.exe -d -install數組
將php5.3_vc6_memcachedll文檔解壓,將php_memcache.dll文件複製到php安裝目錄的ext文件目錄中。memcached
而後在php.ini 當中填上這句話:extension=」php_memcache.dll」工具
在phpinfo()下查看,是否引用了memcache擴展。測試
測試代碼:fetch
- <?php
- //鏈接
- $mem = new Memcache;
- $mem->connect(「127.0.0.1″, 11211);
- //保存數據
- $mem->set(‘key1′, ’This is first value’, 0, 60);
- $val = $mem->get(‘key1′);
- echo 」Get key1 value: 」 . $val .」<br />」;
- //替換數據
- $mem->replace(‘key1′, ’This is replace value’, 0, 60);
- $val = $mem->get(‘key1′);
- echo 」Get key1 value: 」 . $val . 」<br />」;
- //保存數組
- $arr = array(‘aaa’, ’bbb’, ’ccc’, ’ddd’);
- $mem->set(‘key2′, $arr, 0, 60);
- $val2 = $mem->get(‘key2′);
- echo 」Get key2 value: 」;
- print_r($val2);
- echo 」<br />」;
- //刪除數據
- $mem->delete(‘key1′);
- $val = $mem->get(‘key1′);
- echo 」Get key1 value: 」 . $val . 」<br />」;
- //清除全部數據
- $mem->flush();
- $val2 = $mem->get(‘key2′);
- echo 」Get key2 value: 」;
- print_r($val2);
- echo 」<br />」;
- //關閉鏈接
- $mem->close();
- $memcachehost = ’192.168.10.1′;
- $memcacheport = 11211;
- $memcachelife = 60;
- $memcache = new Memcache;
- $memcache->connect($memcachehost,$memcacheport) or die (「Could not connect」);
- $query=」select * from user limit 10″;
- $key=md5($query);
- if(!$memcache->get($key))
- {
- $conn=mysql_connect(「192.168.30.1″,」root」,」passwd」);
- mysql_select_db(users);
- $result=mysql_query($query);
- while ($row=mysql_fetch_assoc($result))
- {
- $arr[]=$row;
- }
- $f = ’db’;
- $memcache->add($key,serialize($arr),0,30);
- $data = $arr ;
- }
- else{
- $f = ’mem’;
- $data_mem=$memcache->get($key);
- $data = unserialize($data_mem);
- }
- echo $f;
- echo 」";
- //print_r($data);
- foreach($data as $a)
- {
- echo $a[user_id]._.$a[email];
- echo 」";
- }
- ?>
新聞系統的應用:spa
- //==============memcache
- $memcachehost = ’127.0.0.1′;
- $memcacheport = 11211;
- $memcachelife = 60;
- $memcache = new Memcache;
- $memcache->connect($memcachehost,$memcacheport) or die (「Could not connect」);
- //==============新聞
- $sql=」SELECT id,title,left(title,16) as biaoti,date_time FROM `p_newsbase` where shenhe=’1′ order by id DESC limit 7 」;
- $query=$db->query($sql);
- $key=md5($query);
- $str=$row_news['biaoti'].$db->time_out($row_news['date_time']);
- while($row_news=$db->fetch_array($query)){
- $sm_news[]=array(「name」=>$str,」title」=>$row_news['title'],」id」=>$row_news['id'],」date_time」=>$row_news['date_time']);
- }
- if(!$memcache->get($key)){
- $memcache->add($key,serialize($sm_news),0,$memcachelife);
- }else{
- $data_mem=$memcache->get($key);
- $sm_news = unserialize($data_mem);
- }
- $smarty->assign(「sm_news」,$sm_news);
浪風先分享這麼多,之後會繼續分享個人小工具給你們。分享萬歲,技術永存。