安装libevent
yum install libevent libevent-devel
安装memcached
# tar xf memcached-1.4.15.tar.gz
# cd memcached-1.4.15
# ./configure --prefix=/usr/local/memcached
# make && make install
建立memcached参数配置文件:
#echo -e 'PORT="11211" \nUSER="nobody" \nMAXCONN="1024" \nCACHESIZE="64" \nOPTIONS="" ' > /etc/sysconfig/memcached
启动
#touch /data/logs/memcached.log
#/usr/local/memcached/bin/memcached -d -m 16 -u www -l 127.0.0.1 -p 11211 -c 512
查看memcached是否启动
ps -aux |grep memcached
netstat -anpt |grep memcached
安装memcache的php扩展端
# tar xf memcache-2.2.7.tgz
# cd memcache-2.2.7
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache
# make && make install
安装完后会有类似以下的提示:
Installing shared extensions:
vim /usr/local/php/etc/php.ini
添加如下一行来载入memcache扩展
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
重启一下php-fpm服务
#killall php-fpm
#/usr/local/php/sbin/php-fpm
在phpinfo中可以看到memcache已经启用了
memcached启动参数
-p 指定端口号(默认11211)
-U UDP监听端口 (默认: 11211, 0 时关闭)
-s
-a
-m 指定最大使用内存大小(默认64MB)
-t 线程数(默认4)
-l 绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-u 绑定使用指定用于运行进程
-P 将PID写入文件,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-k锁定所有内存页。注意你可以锁定的内存上限。
试图分配更多内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。
(不是前面的 -u 参数;在sh下,使用命令"ulimit -S -l NUM_KB"来设置。)
-v 提示信息(在事件循环中打印错误/警告信息。)
-vv 详细信息(还打印客户端命令/响应)
-vvv 超详细信息(还打印内部状态的变化)
-h 打印这个帮助信息并退出。
-i
-L 尝试使用大内存页(如果可用的话)。提高内存页尺寸可以减少"页表缓冲(TLB)"丢失次数,提高运行效率。
-D
-t
-R 每个连接可处理的最大请求数。
-C 禁用CAS。
-b 设置后台日志队列的长度(默认:1024)
-B 绑定协议 - 可能值:ascii,binary,auto(默认)
-I 重写每个数据页尺寸。调整数据项最大尺寸。
常用组合:
/usr/local/memcached/bin/memcached -d -m 256 -p 11211 -u www -l 127.0.0.1
查看状态
telnet 127.0.0.1 11211
stats
quit