解析php中memcache的应用


Posted in PHP onJune 18, 2013

所需环境:
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 相关文章推荐
PHP 5.0 Pear安装方法
Dec 06 PHP
PHP中文汉字验证码
Apr 08 PHP
PHP编实现程动态图像的创建代码
Sep 28 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
基于php使用memcache存储session的详解
Jun 25 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
php短址转换实现方法
Feb 25 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
Nov 12 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 PHP
PHP实现的封装验证码类详解
Jun 18 #PHP
php empty()与isset()区别的详细介绍
Jun 17 #PHP
php include和require的区别深入解析
Jun 17 #PHP
浅析php header 跳转
Jun 17 #PHP
解析php中heredoc的使用方法
Jun 17 #PHP
深入PHP5中的魔术方法详解
Jun 17 #PHP
php.ini 配置文件的深入解析
Jun 17 #PHP
You might like
解析php中获取系统信息的方法
2013/06/25 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
thinkphp3.x中cookie方法的用法分析
2016/05/19 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
jQuery快速高效制作网页交互特效
2017/02/24 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
美国最大的万圣节服装网站:HalloweenCostumes.com
2017/10/12 全球购物
社区工作者思想汇报
2014/01/13 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
装配出错检讨书
2014/09/23 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
2015年助残日活动总结
2015/03/27 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python