[浪風推薦]php的memcache應用入門教程

所需環境: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

 

  1. <?php
  2. //鏈接
  3. $mem = new Memcache;
  4. $mem->connect(「127.0.0.1″, 11211);
  5. //保存數據
  6. $mem->set(‘key1′, ’This is first value’, 0, 60);
  7. $val = $mem->get(‘key1′);
  8. echo 」Get key1 value: 」 . $val .」<br />」;
  9. //替換數據
  10. $mem->replace(‘key1′, ’This is replace value’, 0, 60);
  11. $val = $mem->get(‘key1′);
  12. echo 」Get key1 value: 」 . $val . 」<br />」;
  13. //保存數組
  14. $arr = array(‘aaa’, ’bbb’, ’ccc’, ’ddd’);
  15. $mem->set(‘key2′, $arr, 0, 60);
  16. $val2 = $mem->get(‘key2′);
  17. echo 」Get key2 value: 」;
  18. print_r($val2);
  19. echo 」<br />」;
  20. //刪除數據
  21. $mem->delete(‘key1′);
  22. $val = $mem->get(‘key1′);
  23. echo 」Get key1 value: 」 . $val . 」<br />」;
  24. //清除全部數據
  25. $mem->flush();
  26. $val2 = $mem->get(‘key2′);
  27. echo 」Get key2 value: 」;
  28. print_r($val2);
  29. echo 」<br />」;
  30. //關閉鏈接
  31. $mem->close();
  32. $memcachehost = ’192.168.10.1′;
  33. $memcacheport = 11211;
  34. $memcachelife = 60;
  35. $memcache = new Memcache;
  36. $memcache->connect($memcachehost,$memcacheport) or die (「Could not connect」);
  37. $query=」select * from user limit 10″;
  38. $key=md5($query);
  39. if(!$memcache->get($key))
  40. {
  41.         $conn=mysql_connect(「192.168.30.1″,」root」,」passwd」);
  42.         mysql_select_db(users);
  43.         $result=mysql_query($query);
  44.         while ($row=mysql_fetch_assoc($result))
  45.         {
  46.             $arr[]=$row;
  47.         }
  48.         $f = ’db’;
  49.         $memcache->add($key,serialize($arr),0,30);
  50.         $data = $arr ;
  51. }
  52. else{
  53.         $f = ’mem’;
  54.     $data_mem=$memcache->get($key);
  55.     $data = unserialize($data_mem);
  56. }
  57. echo $f;
  58. echo 」";
  59. //print_r($data);
  60. foreach($data as $a)
  61. {
  62.         echo $a[user_id]._.$a[email];
  63.         echo 」";
  64. }
  65. ?>

新聞系統的應用:spa

 

  1. //==============memcache
  2. $memcachehost = ’127.0.0.1′;
  3. $memcacheport = 11211;
  4. $memcachelife = 60;
  5. $memcache = new Memcache;
  6. $memcache->connect($memcachehost,$memcacheport) or die (「Could not connect」);
  7. //==============新聞
  8.  $sql=」SELECT id,title,left(title,16) as biaoti,date_time FROM `p_newsbase` where shenhe=’1′ order by id DESC limit 7 」;
  9.  $query=$db->query($sql);
  10.  $key=md5($query);
  11.     $str=$row_news['biaoti'].$db->time_out($row_news['date_time']);
  12.  while($row_news=$db->fetch_array($query)){
  13.     $sm_news[]=array(「name」=>$str,」title」=>$row_news['title'],」id」=>$row_news['id'],」date_time」=>$row_news['date_time']);
  14.  }
  15.  if(!$memcache->get($key)){
  16.     $memcache->add($key,serialize($sm_news),0,$memcachelife);
  17.  }else{
  18.     $data_mem=$memcache->get($key);
  19.     $sm_news = unserialize($data_mem);
  20.  }
  21.  $smarty->assign(「sm_news」,$sm_news);

浪風小園子 -- 比較認真的PHP平臺開發

浪風先分享這麼多,之後會繼續分享個人小工具給你們。分享萬歲,技術永存。

相關文章
相關標籤/搜索