解析php中memcache的应用
发布时间:2020-12-13 06:23:42 所属栏目:PHP教程 来源:网络整理
导读: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 当中填上这句话:extensio
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扩展。 测试代码: 代码如下: //连接 $mem = new Memcache; $mem->connect("127.0.0.1",11211); //保存数据 $mem->set('key1','This is first value',60); $val = $mem->get('key1'); echo "Get key1 value: " . $val ." "; //替换数据 $mem->replace('key1','This is replace value',60); $val = $mem->get('key1'); echo "Get key1 value: " . $val . " "; //保存数组 $arr = array('aaa','bbb','ccc','ddd'); $mem->set('key2',$arr,60); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo " "; //删除数据 $mem->delete('key1'); $val = $mem->get('key1'); echo "Get key1 value: " . $val . " "; //清除所有数据 $mem->flush(); $val2 = $mem->get('key2'); echo "Get key2 value: "; print_r($val2); echo " "; //关闭连接 $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),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 ""; } ?> 新闻系统的应用: 代码如下: //==============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); 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),$memcachelife); }else{ $data_mem=$memcache->get($key); $sm_news = unserialize($data_mem); } $smarty->assign("sm_news",$sm_news); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |