解析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在Web开发领域的优势
Oct 09 PHP
PHP实现网上点歌(二)
Oct 09 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
php自动加载机制的深入分析
Jun 08 PHP
php获取文件夹路径内的图片以及分页显示示例
Mar 11 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
php中JSON的使用方法
Apr 30 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 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
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
学习ExtJS Column布局
2009/10/08 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
利用python代码写的12306订票代码
2015/12/20 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
python merge、concat合并数据集的实例讲解
2018/04/12 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
pycharm显示远程图片的实现
2019/11/04 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
基于python监控程序是否关闭
2020/01/14 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Numpy(Pandas)删除全为零的列的方法
2020/09/11 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
Needle & Thread官网:英国仙女品牌
2018/01/13 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
2014年母亲节寄语
2014/05/07 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
项目经理任命书范本
2014/06/05 职场文书
应届大专生求职信
2014/06/26 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android