解析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下使用curl模拟用户登陆的代码
Sep 10 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
如何使用FireFox插件FirePHP调试PHP
Jul 23 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
Laravel中使用Queue的最基本操作教程
Dec 27 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
YII框架模块化处理操作示例
Apr 26 PHP
Smarty模板语法详解
Jul 20 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
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
PHP安全配置详细说明
2011/09/26 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
javascript Array.remove() 数组删除
2009/08/06 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jQuery控制TR显示隐藏的几种方法
2014/06/18 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
js命名空间写法示例
2015/12/18 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
ES6中let 和 const 的新特性
2018/09/03 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
Python 通过打码平台实现验证码的实现
2019/05/13 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
django xadmin中form_layout添加字段显示方式
2020/03/30 Python
Python数据可视化常用4大绘图库原理详解
2020/10/23 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
工作自我评价分享
2013/12/01 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
小学生作文评语大全
2014/04/21 职场文书
分公司负责人任命书
2014/06/04 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
药店营业员岗位职责
2015/04/14 职场文书
三八节活动简报
2015/07/20 职场文书
html form表单基础入门案例讲解
2021/07/15 HTML / CSS
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python