memcache是一款高性能的分布式内存缓存系统,在linux系统中部署memcache可以有效提升应用的读写性能,降低数据库访问压力。本文将以centos系统为例,详细介绍memcache的安装与配置全流程。

安装前准备
memcache的运行依赖libevent库,因此在安装memcache之前需要先完成libevent的安装。如果系统中已经存在libevent可以跳过该步骤,建议安装较新版本的libevent以保证兼容性。
安装libevent
首先下载libevent的源码包,这里选择2.1.12版本,执行以下命令完成下载和解压:
# 下载libevent源码包 wget https://ipipp.com/libevent-2.1.12-stable.tar.gz # 解压源码包 tar -zxvf libevent-2.1.12-stable.tar.gz # 进入解压后的目录 cd libevent-2.1.12-stable
接下来编译安装libevent,执行以下命令:
# 配置编译参数,指定安装路径 ./configure --prefix=/usr/local/libevent # 编译 make # 安装 make install
安装memcache
libevent安装完成后就可以开始安装memcache服务,同样采用源码编译的方式安装,保证版本可控。
下载并解压memcache源码
执行以下命令下载memcache1.6.15版本的源码包并解压:
# 下载memcache源码包 wget https://ipipp.com/memcached-1.6.15.tar.gz # 解压源码包 tar -zxvf memcached-1.6.15.tar.gz # 进入解压后的目录 cd memcached-1.6.15
编译安装memcache
配置编译参数时需要指定之前安装的libevent路径,执行以下命令完成编译安装:
# 配置编译参数,关联libevent安装路径 ./configure --prefix=/usr/local/memcache --with-libevent=/usr/local/libevent # 编译 make # 安装 make install
memcache基础配置
memcache没有独立的配置文件,所有配置参数都通过启动命令的参数指定,常用的配置参数如下:
| 参数 | 说明 | 默认值 |
|---|---|---|
| -p | 指定memcache监听的端口 | 11211 |
| -m | 指定memcache可使用的最大内存,单位为MB | 64 |
| -u | 指定运行memcache的用户 | 当前用户 |
| -l | 指定监听的IP地址,默认监听所有网卡 | 0.0.0.0 |
| -c | 指定最大并发连接数 | 1024 |
| -d | 以守护进程方式运行 | 无 |
memcache服务管理
启动memcache服务
以下命令以守护进程方式启动memcache,监听11211端口,最大内存设置为128MB,最大连接数设置为2048,使用root用户运行:
/usr/local/memcache/bin/memcached -p 11211 -m 128 -u root -l 0.0.0.0 -c 2048 -d
验证服务是否启动
执行以下命令查看memcache进程是否存在:
ps -ef | grep memcached
也可以使用telnet命令连接memcache服务验证可用性:
telnet 127.0.0.1 11211 # 连接成功后输入stats命令查看服务状态 stats # 退出输入quit quit
停止memcache服务
可以通过以下命令找到memcache的进程ID并停止服务:
# 查找memcache进程ID
ps -ef | grep memcached | grep -v grep | awk '{print $2}'
# 停止进程,假设进程ID为1234
kill -9 1234
常见问题说明
如果启动memcache时出现找不到libevent库的错误,需要执行以下命令将libevent的库路径添加到系统动态库配置中:
# 将libevent库路径写入配置文件 echo "/usr/local/libevent/lib" >> /etc/ld.so.conf # 重新加载动态库配置 ldconfig
如果需要memcache开机自启动,可以将启动命令添加到/etc/rc.d/rc.local文件中,注意给该文件添加执行权限。