首先上一个memcached原理图,让不了解memcached的兄弟普及一下
基本原来就如上图所示,需要文字描述的可以谷歌一下。
memcached是基于libevent的事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数 增加,也能发挥O(1)的性能。 memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。关于事件处理这里就不再详细介 绍,可以参考Dan Kegel的The C10K Problem。
欲了解更更多关于libevent:http://monkey.org/~provos/libevent/
memcached的安装其实很简单:
1.由于memcached是基于libevent的,因此需要安装libevent,libevent-devel
# yum install libevent libevent-devel -y
2.进入到http://memcached.org/ 下载tar包
cd /home/down
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar -xvzf memcached-1.4.5.tar.gz
cd memcached-1.4.5
3.然后编译安装
./configuire
make
make install
安装完毕后,用守护进程方式启动memcached
memcached -d start -u nobody -m 1024 -p 11211-c 2048 -P /tmp/memcached.pid
memcached命令参数解释:
-p <num> 监听的端口 -l <ip_addr> 连接的IP地址, 默认是本机 -d start 启动memcached 服务 -d restart 重起memcached 服务 -d stop|shutdown 关闭正在运行的memcached 服务 -d install 安装memcached 服务 -d uninstall 卸载memcached 服务 -u <username> 以<username>的身份运行 (仅在以root运行的时候有效) -m <num> 最大内存使用,单位MB。默认64MB -M 内存耗尽时返回错误,而不是删除项 -c <num> 最大同时连接数,默认是1024 -f <factor> 块大小增长因子,默认是1.25 -n <bytes> 最小分配空间,key+value+flags默认是48 -h 显示帮助
可以用以下两种方式查看memcached的状态
一、telnet 方式
telnet 127.0.0.1 11211
stats
会显示一串参数和值的,中文解释如下
pid32u服务器进程IDuptime32u服务器运行时间,单位秒time32u服务器当前的UNIX时间versionstring服务器的版本号rusage_user32u:32u该进程累计的用户时间 (秒:微妙)rusage_system32u:32u该进程累计的系统时间 (秒:微妙)curr_items32u服务器当前存储的内容数量total_items32u服务器启动以来存储过的内容总数bytes64u服务器当前存储内容所占用的字节数curr_connections32u连接数量total_connections32u服务器运行以来接受的连接总数connection_structures32u服务器分配的连接结构的数量cmd_get32u取回请求总数cmd_set32u存储请求总数get_hits32u请求成功的总次数get_misses32u请求失败的总次数bytes_read64u服务器从网络读取到的总字节数bytes_written64u服务器向网络发送的总字节数limit_maxbytes32u服务器在存储时被允许使用的字节总数二、可以用开源的PHP代码或者说是一个php文件 memcached.php ,直观的监控memcached的各种状态
下载地址:memcache.zip
直接上传到网站某个目录下就可以访问使用了,默认帐号密码是memcache密码password。
直接在memcache.php中可以修改帐号和密码。
运行效果图如下: