header,这里是浪峰小园子的头部信息,header,未完待续

[浪峰推荐]php的memcache应用入门教程

所需环境:

php 5.3.3

apache 2.2.7

mysql 5.5.8

解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install

将php5.3_vc6_memcachedll文档解压,将php_memcache.dll文件复制到php安装目录的ext文件目录中。

然后在php.ini 当中填上这句话:extension=”php_memcache.dll”

在phpinfo()下查看,是否引用了memcache扩展。

 

测试代码:

 

  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. ?>

新闻系统的应用:

 

  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);

源地址:http://laf.freel.cn/php/phpmemcachestudy.html

 

 

浪风小园子 -- 比较认真的PHP平台开发

浪风先分享这么多,以后会继续分享我的小工具给大家。分享万岁,技术永存。

 
posted @ 2013-06-26 23:24  浪峰小园子 -- 比较认真的PHP平台开发  阅读(225)  评论(0编辑  收藏  举报
友情链接: 浪峰小园子-认真PHP平台开发| 博客园-程序员最好的网上家园| 凤凰网-大中华区专业媒体| 小米科技-持续创新力的公司| 36氪-关注互联网创业