解析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数组操作汇总 php数组的使用技巧
Jul 17 PHP
php代码书写习惯优化小结
Jun 20 PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 PHP
php中chdir()函数用法实例
Nov 13 PHP
PHP常用的小程序代码段
Nov 14 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
php 浮点数比较方法详解
May 05 PHP
详解Laravel5.6 Passport实现Api接口认证
Jul 27 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
php实现简易计算器
Aug 28 PHP
PHP如何防止用户重复提交表单
Dec 09 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登录时间的方法
2011/02/06 PHP
php中的一些数组排序方法分享
2012/07/20 PHP
PHP之短标签开启设置
2013/06/17 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
php工具型代码之印章抠图
2018/07/18 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
javascript常用的方法分享
2015/07/01 Javascript
对于jQuery性能的一些优化建议
2015/08/13 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python分治法定义与应用实例详解
2017/07/28 Python
Python中的集合介绍
2019/01/28 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
英国精品买手店:Browns Fashion
2016/09/29 全球购物
乌克兰网上服装店:Bolf.ua
2018/10/30 全球购物
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
Ruby如何进行文件操作
2014/07/17 面试题
大型演出策划方案
2014/05/28 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
入队仪式主持词
2015/07/04 职场文书
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技