`
yanwenhan
  • 浏览: 115370 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcached安装

阅读更多

【memcached安装】
memcached 官方网站         http://www.danga.com/memcached/
PHP memcached client       http://wikipedia.sourceforge.net/doc/memcached-client/_includes_memcached-client_php.html
下载 memcached-client.php  http://nio.infor96.com/wp-content/uploads/2006/04/memcached-client.zip

一、下载相关软件
memcached下载地址:http://www.danga.com/memcached/
memcache PHP模块下载地址: http://pecl.php.net/package/memcache 推荐使用1.5版
安装Memcached需要libevent库的支持,所以请在安装Memcached之前检查有没有安装libevent
libevent 下载地址:http://www.monkey.org/~provos/libevent/
建立一个符号连接:#ln -s /usr/local/lib/libevent-1.1.so.1 /usr/lib

如果出现:./memcached: error while loading shared libraries: libevent-1.1a.so.1: cannot open shared object file: Error 40

则直接将/usr/local/lib/libevent-1.1.so.1 拷贝到 /usr/lib 目录下。

二、安装配置
1、安装Memcached
#cd memcached-1.2.4
#./configure --prefix=/usr/local/memcached --with-libevent=/usr/local
#make
#make install

安装完之后要启动服务
#cd /usr/local/memcached/bin
#./memcached -d -m 50 -p 11211 -u root
参数说明 -m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行
参数解释:
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。


如果 libevent 不是安装在 /usr 目录下,那么需要把 libevent-1.2a.so.1 拷贝/链接到 /usr/lib 中,否则 memcached 无法正常加载。

2、安装memcache PHP模块
#cd memcache-2.2.1
#/usr/local/bin/phpize
#./configure --enable-memcache --with-php-config=/usr/local/bin/php-config --with-zlib-dir
#make
#make install
安装完后会有类似这样的提示:
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
把这个记住,然后修改php.ini,把
extension_dir = "./"
修改为
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
并添加一行
extension=memcache.so

或者 PHP 有一个叫做 memcache 的扩展,Linux 下编译时需要带上 –enable-memcache[=DIR] 选项

3、重新启动apache

4、测试脚本
自己写一个PHP程序测试一下吧
<?php
$memcache = new Memcache; //创建一个memcache对象
$memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器
$memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test
$get_value = $memcache->get('key'); //从内存中取出key的值
echo $get_value;
?>

三、PHP 如何作为 memcached 客户端

有两种方法可以使 PHP 作为 memcached 客户端,调用 memcached 的服务进行对象存取操作。

第一种,PHP 有一个叫做 memcache 的扩展,Linux 下编译时需要带上 –enable-memcache[=DIR] 选项,Window 下则在 php.ini 中去掉 php_memcache.dll 前边的注释符,使其可用。

除此之外,还有一种方法,可以避开扩展、重新编译所带来的麻烦,那就是直接使用 php-memcached-client。

本文选用第二种方式,虽然效率会比扩展库稍差一些,但问题不大。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics