解析php中memcache的应用
2015-01-24信息快讯网
本篇文章是对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扩展。
测试代码:
<?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);
修改apache配置文件去除thinkphp url中的index.php
PHP获取php,mysql,apche的版本信息示例代码
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
那些年我们错过的魔术方法(Magic Methods)
memcache命令启动参数中文解释
百度站点地图(百度sitemap)生成方法分享
php-perl哈希算法实现(times33哈希算法)
zend framework文件上传功能实例代码
php使用strtotime和date函数判断日期是否有效代码分享
php实现memcache缓存示例讲解
PHP PDOStatement:bindParam插入数据错误问题分析
CodeIgniter生成网站sitemap地图的方法
win7下memCache的安装过程(具体操作步骤)
浅析memcache启动以及telnet命令详解
解析linux下安装memcacheq(mcq)全过程笔记
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
PHP实现的封装验证码类详解
php empty()与isset()区别的详细介绍
深入Apache与Nginx的优缺点比较详解
apache配置虚拟主机的方法详解
Linux Apache PHP Oracle 安装配置(具体操作步骤)
基于empty函数的输出详解
基于empty函数的判断详解
PHP中array_merge和array相加的区别分析
php之Memcache学习笔记
探讨:如何通过stats命令分析Memcached的内部状态
PHP操作Memcache实例介绍
深入Memcache的Session数据的多服务器共享详解
windows环境下php配置memcache的具体操作步骤