手机
当前位置:查字典教程网 >编程开发 >php教程 >解析php中memcache的应用
解析php中memcache的应用
摘要:所需环境:php5.3.3apache2.2.7mysql5.5.8相关文档下载:点击下载解压Memcached_1.2.5文档,cmd下执...

所需环境:

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 = new Memcache;

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

//保存数据

$mem->set('key1', 'This is first value', 0, 60);

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

echo "Get key1 value: " . $val ."<br />";

//替换数据

$mem->replace('key1', 'This is replace value', 0, 60);

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

echo "Get key1 value: " . $val . "<br />";

//保存数组

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

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

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

echo "Get key2 value: ";

print_r($val2);

echo "<br />";

//删除数据

$mem->delete('key1');

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

echo "Get key1 value: " . $val . "<br />";

//清除所有数据

$mem->flush();

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

echo "Get key2 value: ";

print_r($val2);

echo "<br />";

//关闭连接

$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),0,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),0,$memcachelife);

}else{

$data_mem=$memcache->get($key);

$sm_news = unserialize($data_mem);

}

$smarty->assign("sm_news",$sm_news);

【解析php中memcache的应用】相关文章:

PHP中GET变量的使用

在php中取得image按钮传递的name值

PHP与已存在的Java应用程序集成

PHP中的一些常用函数收集

php中的时间处理

php中get_defined_constants函数用法实例分析

php中set_error_handler的用法总结

php中关于socket的系列函数总结

PHP安装memcached扩展笔记

php操作memcache缓存方法分享

精品推荐
分类导航