php window环境下扩展memcached实现页面缓存

一、安装部分

(一)、下载并安装memcached服务器端软件

32位64位:www.newasp.net/soft/63735.html

解压压缩包到指定目录

 2、安装memcached

     以管理员身份运行 cmd.exe


     如果不是管理员可以切换到管理员权限

   并转至memcached所在文件夹。并安装memcached。


安装之后无任何提示

3、启动memcached服务

   继续在cmd.exe 执行开启memcached命令 :

memcached.exe -d start

  然后去任务管理器中进程查看memcached服务是否已经启动。

4、memcached基本参数设置
    -p 监听的端口
    -l 连接的IP地址, 默认是本机
    -d start 启动memcached服务
    -d restart 重起memcached服务
    -d stop|shutdown 关闭正在运行的memcached服务
    -d install 安装memcached服务
    -d uninstall 卸载memcached服务
    -u 以的身份运行 (仅在以root运行的时候有效)
    -m 最大内存使用,单位MB。默认64MB
    -M 内存耗尽时返回错误,而不是删除项
    -c 最大同时连接数,默认是1024
    -f 块大小增长因子,默认是1.25
    -n 最小分配空间,key+value+flags默认是48
    -h 显示帮助

    5、memcached的停止与卸载命令

 memcached.exe -d stop
 memcached.exe -d uninstall

(二)、PHP安装memcache扩展

   1、下载memcache.dll扩展

下载地址:

http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/


下载注意事项:选择匹配自己环境的版本以及线程安全版本。

查看自己PHP版本:phpinfo();

以下是我的配置信息和对应下载版本:


对应扩展文件这里


解压出来:



将其中的php_memcache.dll 扩展文件拷贝到 php 的扩展目录中,我的(D:\php\Wamp\php\ext)


打开php的php.ini文件

最后添加 一行代码:

extension=php_memcache.dll


然后保存之后,重启服务器

在使用phpinfo()查看

(如果没有显示,肯定是版本没对应)


说明安装成功了。


二、运用部分

使用memcached实现页面缓存,运用于页面数据不经常变动且大流量访问
1.memcached基本操作

<?php
	header('content-type:text/html;charset="utf8"');
	$memcache = new Memcache();
	$memcache->connect('localhost','11211')or die('Memcached连接失败');
	//定义一个对象
	$tmp_object = new stdClass();
	$tmp_object->username='tomm';	
	$tmp_object->password='123';	
	$tmp_object->msg='hello~my name is tom';
	//memcache->set('设置值的key','设置存储的值','是否使用MEMCACHE_COMPRESSED压缩,0或false表示不压缩','过期时间/秒')	
	$memcache->set('user',$tmp_object,false,10);
	$get_res = $memcache->get('user');
	echo ('数据如下:');
	var_dump($get_res);
?>

2.运用

<?php


$sql = 'SELECT * FROM users';
$key = md5($sql); //memcached 对象标识符
$mc = new Memcache();
$mc->connect('localhost','11211')or die('Memcached连接失败');
if ( !($datas = $mc->get($key)) ) {
// 在 memcached 中未获取到缓存数据,则使用数据库查询获取记录集。
echo 'Read datas from MySQL';
$conn = mysql_connect('localhost', 'root', '123456');
mysql_select_db('test');
$result = mysql_query($sql);
while ($row = mysql_fetch_object($result))
$datas[] = $row;
// 将数据库中获取到的结果集数据保存到 memcached 中,以供下次访问时使用。
$mc->add($key, $datas);
} else {
echo 'Read datas from memcached';
}
var_dump($datas);


?>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值