解析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 session机制
Jul 17 PHP
PHP数组实例总结与说明
Aug 23 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
PHP实现的简单在线计算器功能示例
Aug 02 PHP
php实现的AES加密类定义与用法示例
Jan 29 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
tp5修改(实现即点即改)
Oct 18 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
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP7常量数组用法分析
2016/09/26 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
JS 页面自动加载函数(兼容多浏览器)
2009/05/18 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
详解JavaScript的变量
2019/04/04 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
vue $router和$route的区别详解
2020/12/02 Vue.js
用python实现对比两张图片的不同
2018/02/05 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
python调用c++传递数组的实例
2019/02/13 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
巴西购物网站:Onofre Agora
2020/06/08 全球购物
信息专业本科生个人的自我评价
2013/10/28 职场文书
《观舞记》教学反思
2014/04/16 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
2014年高一班主任工作总结
2014/12/05 职场文书
护士求职自荐信
2015/03/25 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
什么是Python装饰器?如何定义和使用?
2022/04/11 Python
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers