Memcache是一个非常不错的缓存插件了,现在有很多的网站都会使用Memcache实现数据缓存了,下面小编就为各位整理一篇linux下编译安装Memcached 和 Memcache 的PHP扩展的例子.
一:安装Memcache
1:编译安装libevent
- wgethttps://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
- tar-zxvflibevent-2.0.21-stable.tar.gz
- cdlibevent-2.0.21-stable
- ./configure--prefix=/usr/local/libevent
- make
- makeisntall
2:编译安装memcached
- wgethttp://www.memcached.org/files/memcached-1.4.19.tar.gz
- tar-zxvfmemcached-1.4.19.tar.gz
- cdmemcached-1.4.19
- ./configure-with-libevent=/usr/local/libevent/-prefix=/usr/local/memcached
- make
- makeinstall
3:启动memcached
/usr/local/memcached/bin/memcached -d -m 64 -u root -p 11211
下面是memcached命令相关参数详情:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。
- psaux|grepmemcached
- clipboard
- vim/etc/rc.d/rc.local加入/usr/local/memcached/bin/memcached-d-m64-uroot-p11211#加入开机启动项
- telnet127.0.0.111211#检测memcache
如果出现-bash: telnet: command not found (说明未安装telnet)
直接yum install telnet
telnet set进行测试
set 对应的参数
key key 用于查找缓存值
flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time 在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes 在缓存中存储的字节点
value 存储的值(始终位于第二行)
clipboard1
二:安装memcache的php扩展
- wgethttp://pecl.php.net/get/memcache-3.0.8.tgz
- tar-zxvfmemcache-3.0.8.tgz
- cdmemcache-3.0.8
- /usr/local/php/bin/phpize
- ./configure--with-php-config=/usr/local/php/bin/php-config
- make//phpfensi.com
- makeinstall
- ll/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so#查看是否生成扩展so文件
- -rwxr-xr-x1rootroot422219May910:29/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so#文件存在
- vim/usr/local/php/etc/php.ini#加入扩展
- extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
- extension="memcache.so"
重启php:自己用的是nginx
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #平滑重启php
/usr/local/php/bin/php -m #查看php是否加入了memcache扩展,或者执行phpinfo函数查看是否存在memcache扩展.