php当中的memcache应用

2013 年 2 月 22 日4540

php当中的memcache应用

发布时间:2013-02-22 09:55:06来源:评论:】

所需环境:php 5.3.3apache 2.2.7mysql 5.5.8解压Memcached_1.2.5文档,cmd下执行memcached.exe -d -install将php5.3_vc6_memcachedll文档解压,将php_memcache.dll文件复制到php安装目录的ext文件目录中。...

   

所需环境:

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扩展。

测试代码:

    <?php

    //连接

    $mem=newMemcache;

    $mem->connect("127.0.0.1",11211);

    //保存数据

    $mem->set('key1','Thisisfirstvalue',0,60);

    $val=$mem->get('key1');

    echo"Getkey1value:".$val."<br/>";

    //替换数据

    $mem->replace('key1','Thisisreplacevalue',0,60);

    $val=$mem->get('key1');

    echo"Getkey1value:".$val."<br/>";

    //保存数组

    $arr=array('aaa','bbb','ccc','ddd');

    $mem->set('key2',$arr,0,60);

    $val2=$mem->get('key2');

    echo"Getkey2value:";

    print_r($val2);

    echo"<br/>";

    //删除数据

    $mem->delete('key1');

    $val=$mem->get('key1');

    echo"Getkey1value:".$val."<br/>";

    //清除所有数据

    $mem->flush();

    $val2=$mem->get('key2');

    echo"Getkey2value:";

    print_r($val2);

    echo"<br/>";

    //关闭连接

    $mem->close();

    $memcachehost='192.168.10.1';

    $memcacheport=11211;

    $memcachelife=60;

    $memcache=newMemcache;

    $memcache->connect($memcachehost,$memcacheport)ordie("Couldnotconnect");

    $query="select*fromuserlimit10";

    $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($dataas$a)

    {

    echo$a[user_id]._.$a[email];

    echo"";

    }

    ?>

新闻系统的应用:

    //==============memcache

    $memcachehost='127.0.0.1';

    $memcacheport=11211;

    $memcachelife=60;

    $memcache=newMemcache;

    $memcache->connect($memcachehost,$memcacheport)ordie("Couldnotconnect");

    //==============新闻

    $sql="SELECTid,title,left(title,16)asbiaoti,date_timeFROM`p_newsbase`whereshenhe='1'orderbyidDESClimit7";

    $query=$db->query($sql);

    $key=md5($query);

    while($row_news=$db->fetch_array($query)){

    $str=$row_news['biaoti'].$db->time_out($row_news['date_time']);

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

(责任编辑:)

本文关键字:

上一篇:NetBeans IDE 7.2.1 for php安装后,主界面是乱码的解决方法

下一篇:

分享到:

最新资讯

热门内容

0 0