所需环境:

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

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

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

[浪风推荐]php的memcache应用入门教程的更多相关文章

  1. [浪风推荐]CURL伪造IP和来源

    给“刷票”的朋友提供了很好的换IP的方案,查了下,CURL确实很强悍的可以伪造IP和来源. 1.php 请求 2.php . 1.php代码: $ch = curl_init(); curl_seto ...

  2. [浪风推荐]javascritp中倒计定时器和循环定时器

    在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout(“function();”,delaytime); 2.循环定时器:timena ...

  3. [浪风分享] PHP开发必看 我现在是这样编程的

    我在做什么 曾经,我试过接到一些需求.一眼带过后,脑袋马上随着高昂的斗志沉溺在代码的世界中 ,马不停蹄地敲着键盘直到最后测试的完成.我从思绪中恢复过来,乍一看自己写的功能,和需求差了十万八千里,我TM ...

  4. 推荐10个适合初学者的 HTML5 入门教程

    HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...

  5. 【特别推荐】Node.js 入门教程和学习资源汇总

    这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...

  6. [浪风JQuery开发]jquery最有意思的IFrame类似应用--值得深入研究

    前几天一时兴起答应朋友的需求--做一个外国的企业网站: 本想做就做呗,可没想我辛辛苦苦用浪风认真php平台开发后,对方来一句我服务器不能安装其他程序,请给我用frame框架开发. 浪风那是一个苦字难言 ...

  7. 推荐 VS2010入门教程—鸡啄米

    http://www.jizhuomi.com/catalog.asp?tags=VS2010 推荐 VS2010入门教程—鸡啄米,真的非常使用和经典!

  8. C++入门教程:大白话讲解,新手基础篇⭐⭐⭐(附源码及详解、视频课程资料推荐)

    目录 C++教程 前言 视频教程 文字教程 集成开发环境(IDE) 编译器 工作原理 学习指南 入门书籍 进阶书籍 算法.竞赛书籍 教程 标准构建 程序解释 第一个C++程序--"hello ...

  9. 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放

    要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...

随机推荐

  1. 监控Coherence成员的加入和离开集群事件

    对server事件的监控主要是实现MemberListener类,对Cache事件的监控主要通过MapListener 参考代码 package coherencetest; import com.t ...

  2. javascript快速入门17--事件

    事件(上) JavaScript事件列表 事件 解说 一般事件 onclick 鼠标点击时触发此事件 ondblclick 鼠标双击时触发此事件 onmousedown 按下鼠标时触发此事件 onmo ...

  3. 向Solr数据集提交Json格式数据(Scala,Post)

    import scalaj.http.Http class SolrAdd () {// 方法接受两个参数,dataType为数据集名称,jsonString为数据json字符串 def postTo ...

  4. [Functional Programming Monad] Map And Evaluate State With A Stateful Monad

    We explore our first stateful transaction, by devising a means to echo our state value into the resu ...

  5. 【Android】The application has stopped unexpectedly.Please try again.

    打出的android APK在android4.0.2手机上运行正常,但是在2.3.7的MOTO DEFY ME525上运行失败. android 2.3.3版本的模拟器上面运行失败: Sorry! ...

  6. 首先给大家介绍一下数据库project师,数据库project师(Database Engineer),是从事管理和维护数据库管理系统(DBMS)

    摘要 MySQL的最初的核心思想,主要是开源.简便易用.其开发可追溯至1985年,而第一个内部发行版本号诞生,已经是1995年. 到1998年,MySQL已经能够支持10中操作系统了.当中就包含win ...

  7. Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)

    信号  ( signal ) 机制是 UNIX 系统中最为古老的进程间通信机制,很多条件可以产生一个信号. 信号的产生: 1,当用户按下某些按键时,产生信号. 2,硬件异常产生信号:除数为 0 ,无效 ...

  8. 《Java程序猿面试笔试宝典》之Statickeyword有哪些作用

    statickeyword主要有两种作用:第一,仅仅想为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关.第二,希望某个方法或属性与类而不是对象关联在一起,也就是说,在不创建对象的情况下 ...

  9. mac os x 安装adb

    http://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x Option 1 - Using Homebrew Thi ...

  10. Apache代理80端口

    找到Apache下的conf\extra\httpd-vhosts.conf文件 新增以下内容于合适位置 ↓表示80端口 <VirtualHost *:80>  ServerAdmin * ...