Memcached的安装以及PHP扩展的安装

memcached下载地址:http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz 

Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent。(如果你的系统已经安装了libevent,可以不用安装)

官网:http://www.monkey.org/~provos/libevent/

wget http://www.monkey.org/~provos/libevent-1.4.9-stable.tar.gz
tar zxvf libevent-1.4.9-stable.tar.gz
cd libevent-1.4.9-stable
./configure --prefix=/usr/local
make
make install

安装Memcached

wget http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
tar -zxvf memcached-1.4.0.tar.gz
cd memcached-1.4.0
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local
make
make install

安装完成后的memcached在 /usr/local/bin/memcached  

这时运行memcached -m 500 -p 11333, 有可能会出现:

memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory 

这说明没有找到文件:libevent-1.2.so.1

 解决办法如下:

 第一步. 查看下lib路径:

which memcached 得到/usr/local/memcached/bin/memcached

LD_DEBUG=libs /usr/local/memcached/bin/memcached -v 

第二步. 将libevent-1.2.so.1拷贝到任何一个列出的lib下。或者软链接到列出的lib下(很多情况下是/usr/lib下有该文件,需要把该文件拷贝到/usr/lib64/下)

启动MemCached,-m表示分配的内存

/usr/local/memcached/bin/memcached -d -m 1024 -u admin -l 127.0.0.1 -p 11211

参数说明:

-d选项是启动一个守护进程

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB

-u是运行Memcache的用户,我这里是root

-l是监听的服务器IP地址

-p是设置Memcache监听的端口,最好是1024以上的端口

-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定

-P是设置保存Memcache的pid文件


#关闭防火墙。

#永久性生效,重启后不会复原 

开启: chkconfig iptables on 

关闭: chkconfig iptables off 

#即时生效,重启后复原 

开启: service iptables start 

关闭: service iptables stop 

#修改/etc/sysconfig/iptables文件,

添加-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT 


结束Memcache进程。

kill cat /tmp/memcached.pid


监测是否启动成功方式

telnet 192.168.160.129 11211

直接敲击stats命令


memcache的常见概念

memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念: 1 slab 2 page 3 chunk 解释一下,一般来说一个memcahced进程会预先将自己划分为若干个slab,每个slab下又有若干个page,每个page下又有多 个chunk,如果我们把这3个咚咚看作是object得话,这是两个一对多得关系。再一般来说,slab得数量是有限得,几个,十几个,或者几十个,这 个跟进程配置得内存有关。而每个slab下得page默认情况是1m,也就是说如果一个slab占用100m得内存得话,那么默认情况下这个slab所拥 有得page得个数就是100,而chunk就是我们得数据存放得最终地方

 

Memcache的常用命令

查询状态命令:stats:    

查询版本号 version

退出命令 quit

清空缓存数据(其实是将所有缓存数据标记为过期):flush_all

 

Memcached 操作:
telnet localhost 11211
set foo 0 0 3
bar 
STORED
get foo
VALUE foo 0 3
bar
quit

Memcache命令:
存储命令: set/add/replace/append/prepend/cas 
获取命令: get/gets
其他命令:delete/stats等

Shell操作memcache:

1、数据存储(假设key为foo,value为123)
   printf "set foo 0 0 3\r\n123\r\n" | nc 127.0.0.1 11211
   STORED
2、数据取回(假设key为foo)
   printf "get foo\r\n" | nc 127.0.0.1 11211
   VALUE foo 0 3
   123
   END
3、数值增加1(假设key为foo,并且value为正整数)
   printf "incr foo 1\r\n" | nc 127.0.0.1 11211
   124
4、数值减少3(假设key为foo,并且value为正整数)
   printf "decr foo 3\r\n" | nc 127.0.0.1 11211

   121
5、数据删除(假设key为foo)
   printf "delete foo\r\n" | nc 127.0.0.1 11211
   DELETED
6、查看Memcached状态

      printf "stats\r\n" | nc 127.0.0.1 11211

   STAT pid 22563

   STAT uptime 90706

7、模拟top命令,查看Memcached状态:
   watch "printf 'stats\r\n' | nc 127.0.0.1 11211" 
   watch "echo stats | nc 127.0.0.1 11211"

参考资料:

#memcached

http://memcached.org/http://code.jellycan.com/memcached/
#Memcached安装和基本使用(windows)

http://www.cnblogs.com/netflu/archive/2010/03/12/1684305.html
#memcache简要安装步骤

http://kb.cnblogs.com/a/1575049/
#Memcached linux安装说明

http://kb.cnblogs.com/a/1501326/

 

PHP安装memcache扩展

wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
make install

修改php.ini文件添加extension="memcache.so",然后重启php





posted on 2011-11-24 14:26  kudosharry  阅读(218)  评论(0编辑  收藏  举报

导航