心 涯

NET&JAVA&PHP(要跨界,你不只要跨「脑」的界限,更要跨越「心」的界限,不怕改变,不怕再学习!)

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、软件包

a) libevent-1.4.13-stable.tar.gz

b) libmemcached-0.27.tar.gz

c) memcached-1.4.5.tar.gz

d) memcache-2.2.5.tgz

二、安装步骤

a) Tar zxvf libevent-1.4.13-stable.tar.gz

b) Cd libevent-1.4.13-stable

c) ./configure make make install

d) Cd ../

e) Tar zxvf libmemcached-0.27.tar.gz

f) Cd libmemcached-0.27

g) ./configure make make install

h) Cd ../

i) Tar zxvf memcached-1.4.5.tar.gz

j) Cd memcached-1.4.5

k) ./configure make make intall

l) Cd ../

m) Gzip –d memcache-2.2.5.tgz

n) Tar xvf memcache-2.2.5

o) Cd memcache-2.2.5

p) /usr/local/php/bin/phpize

q) ./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config

r) Make make install

s) ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

t) Vi /usr/local/php/lib/php.ini

修改extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”

增加extension=memcache.so

u) /usr/local/apache/bin/apachectl –k restart

v) 通过phpinfo()函数可以获取到如下信息

memcache

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

w) 启动memcache服务器端

/usr/local/bin/memcached -d -m 100 -uroot -l 59.64.28.78 -p 11211 -c 256 -P /tmp/memcached.pid

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址59.64.28.78,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid。

x) 测试代码

<?php

$memcache=new Memcache;

$memcache->connect("59.64.28.78",11211) or die ("Could not connect");

$version=$memcache->getVersion();

echo "Server's version:".$version."\n";

$member[]="chenhw";

$member[]="linux";

if(!$memcache->add("name","member",false,10)){

$member2=$memcache->get("member");

}else{

$memcache->set("member",$member,false,10);

echo "member is not exist";

}

echo $member2[0];

?>

x) Memcached方法介绍

Memcache::add // 添加一个值,如果已经存在,则返回false
Memcache::addServer // 添加Memcache地址
Memcache::close // 关闭一个Memcache的连接
Memcache::connect // 打开一个到Memcache的连接
Memcache::decrement // 对保存的某个key中的值进行减法操作
Memcache::delete // 删除一个Memcache上的key值
Memcache::flush // 刷新所有Memcache上保存的项目(类似于删除所有的保存的项目)
Memcache::get // 从Memcache上获取一个key值
Memcache::getExtendedStats // 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus // 获取运行服务器的参数
Memcache::getStats //获取当前Memcache服务器运行的状态
Memcache::getVersion // 返回运行的Memcache的版本信息
Memcache::increment // 对保存的某个key中的值进行加法操作
Memcache::pconnect // 打开一个到Memcache的长连接
Memcache::replace // 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set // 向Memcache添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold // 对大于某一大小的数据进行压缩
Memcache::setServerParams // 在运行时修改服务器的参数

三、相关命令

a) kill `cat /tmp/memcached.pid`停止memcached服务

b) echo stats | nc 59.64.28.78 11211查看memcached运行状态

c) echo “flush_all” | nc 59.64.28.78 11211清空所有缓存数据

posted on 2010-04-20 13:45  witer666  阅读(454)  评论(0编辑  收藏  举报