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

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

在PHP使用MemCached  

2010-05-11 16:32:19|  分类: memcache |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://yangyi.jmeye.com/index.php?aid=46

在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 support enabled
Active persistent connections 0
Version 2.2.5
Revision $Revision: 1.111 $
Directive Local Value Master Value
memcache.allow_failover 1 1
memcache.chunk_size 8192 8192
memcache.default_port 11211 11211
memcache.default_timeout_ms 1000 1000
memcache.hash_function crc32 crc32
memcache.hash_strategy standard standard
memcache.max_failover_attempts 20 20

以上参数都可以在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) }  
  评论这张
 
阅读(528)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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