解析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 相关文章推荐
如何提高MYSQL数据库的查询统计速度 select 索引应用
Apr 11 PHP
php下实现一个阿拉伯数字转中文数字的函数
Jul 10 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
Linux安装配置php环境的方法
Jan 14 PHP
PHP生成和获取XML格式数据的方法
Mar 04 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
php取出数组单个值的方法
Mar 12 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
php木马攻击防御之道
2008/03/24 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
优雅地使用loading(推荐)
2019/04/20 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python随机数用法实例详解【基于random模块】
2017/04/18 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
使用python为mysql实现restful接口
2018/01/05 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
解决python中显示图片的plt.imshow plt.show()内存泄漏问题
2020/04/24 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
2014两会优秀的心得体会范文
2014/03/17 职场文书
毕业留言寄语大全
2014/04/10 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
Win11快速关闭所有广告推荐
2022/04/19 数码科技