Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器停止运行或崩溃了,所有存放在该服务器上的键/值对都将丢失。
Memcached函数库是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的内存数据的临时存放区域,在分布式环境下的作用体现的非常明显。
安装libevent libevent-devel
Memcached需要libevent的支持,详细的内容可以找下关于memcached的原理。
yum install -y libevent libevent-devel
安装php-devel gcc make
Memcached编译时需要用到php-devel gcc make
yum install -y php-devel gcc make
安装memcached
方法1:yum安装简单方便
yum -y install memcached
方法2:下载安装
到http://memcached.org下载最新版本的memcached,解压安装
启动memcached
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
参数说明:
-d选项是启动一个守护进程
-m是分配给Memcached使用的内存数量,单位是MB,这里是10MB
-u是运行Memcached的用户,我这里是root
-l是监听的服务器IP地址,如果有多个地址的话,由于是本地开发( 非实际运行环境 )这里指定了服务器的IP地址127.0.0.1
-p是设置Memcached监听的端口,这里设置了11211,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定
-P是设置保存Memcached的pid文件,这里是保存在 /tmp/memcached.pid
验证安装
memcached -h
应该会输出一些帮助信息
将memcached加入启动列表
chkconfig --level 2345 memcached on
配置Memcached
vi /etc/sysconfig/memcached
文件中内容如下
PORT="11211" 端口 USER="root" 使用的用户名 MAXCONN="1024" 同时最大连接数 CACHESIZE="64" 使用的内存大小 OPTIONS="" 附加参数
查看memcached状态
memcached-tool [Memcached Server IP]:[Memcached Server Port] stats 如:memcached-tool 127.0.0.1:11211 stats
检查Memcached是否启动
netstat -ant
出现类似这样的结果 tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN
11211端口已经打开,说明Memcached已正常启动。