注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

牧笔临风

己有能,勿自私!

 
 
 

日志

 
 
 
 

在PHP使用MemCached  

2011-06-09 09:52:01|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文网址:http://www.ningoo.net/html/2009/use_memcached_in_php.html

另附php提速:

http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/
http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps3/

在PHP中使用Memcached,有两种方式,一种是安装PHP的memcache扩展(实际上还有另外一个memcached扩展,是基于比较流行的libmemcached库封装的),该扩展是用c写的,效率较高,需要在服务器上安装。另外一种则是直接使用客户端的php-memcached-client类库,但是这个我在网上找了半天也没找到一个官方的网站。所以呢,还是装个扩展吧。假设php安装在/home/admin/php目录:

wget http://pecl.php.net/get/memcache-2.2.5.tgz gzip -d memcache-2.2.5.tgz tar xvf memcache-2.2.5.tar cd memcache-2.2.5 /home/admin/php/bin/phpize Configuring for: PHP Api Version:         20041225 Zend Module Api No:      20060613 Zend Extension Api No:   220060519  ./configure --enable-memcache --with-php-config=/home/admin/php/bin/php-config --with-zlib-dir Installing shared extensions:     /home/admin/php/lib/php/extensions/no-debug-non-zts-20060613/ 

注意到最后一行返回的信息,将下面两行添加到/home/admin/php/lib/php.ini

extension_dir = "/home/admin/php/lib/php/extensions/no-debug-non-zts-20060613/" extension=memcache.so 

然后重启web服务器即可。如果安装成功,则通过phpinfo()可以获得该扩展的相关信息:

memcache supportenabled
Active persistent connections0
Version2.2.5
Revision$Revision: 1.111 $
DirectiveLocal ValueMaster Value
memcache.allow_failover11
memcache.chunk_size81928192
memcache.default_port1121111211
memcache.default_timeout_ms10001000
memcache.hash_functioncrc32crc32
memcache.hash_strategystandardstandard
memcache.max_failover_attempts2020

以上参数都可以在php.ini中进行设置。下面是一段官方网站的php测试代码:

<?php $memcache = new Memcache; $memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); $version = $memcache->getVersion(); echo "Server's version: ".$version."\n"; $tmp_object = new stdClass; $tmp_object->str_attr = 'test'; $tmp_object->int_attr = 123; $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server"); echo "Store data in the cache (data will expire in 10 seconds)\n"; $get_result = $memcache->get('key'); echo "Data from the cache:\n"; var_dump($get_result); ?> 

运行后输出如下:

Server's version: 1.2.6 Store data in the cache (data will expire in 10 seconds) Data from the cache: object(stdClass)#3 (2) { ["str_attr"]=>  string(4) "test" ["int_attr"]=>  int(123) }
  评论这张
 
阅读(241)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017