解析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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
php 之 没有mysql支持时的替代方案
Oct 09 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
Aug 11 PHP
mongodb和php的用法详解
Mar 25 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
Oct 30 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学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
面包屑导航详解
2017/12/07 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
js实现全选和全不选
2020/07/28 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
Python matplotlib画图实例之绘制拥有彩条的图表
2017/12/28 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python命令行解析模块详解
2018/02/01 Python
详解Python核心对象类型字符串
2018/02/11 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
python生成特定分布数的实例
2019/12/05 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
大学生家政服务项目创业计划书
2014/01/30 职场文书
房地产促销活动方案
2014/03/01 职场文书
入股协议书范本
2014/04/14 职场文书
起诉书格式范文
2015/05/20 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书