memcached是一套分布式的高速缓存系统,与redis相似。和Redis不同,Memcached没有提供客户端程序,而是需要使用telnet进行连接。
一、安装
memcached安装需要依赖libevent库,所以我们先安装libevent
1. 首先在libevent官网下载libevent包,找到适合的版本进行下载。或者wget直接下载;
2. 解压libevent的压缩包,然后进入解压后目录;
3. 指定libevent的安装目录,执行安装;
4. 查看安装是否成功;
memcached安装
1. 首先在memcached官网下载memcached;
2. 解压memcached的压缩包,然后进入解压后目录;
3. 指定memcached安装目录,执行安装;
4. 启动测试;
Shell
# 1.下载libevent
wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
# 2.解压libevent
tar -zxvf libevent-2.1.11-stable.tar.gz
# 3.指定安装目录执行安装
./configure --prefix=/usr/local/libevent-2.1.11
make && make install
# 4.查看是否安装成功
ls -al /usr/local/libevent-2.1.11/lib | grep libevent
# 5.下载memcached
wget https://memcached.org/files/memcached-1.6.3.tar.gz
# 6.解压memcached
tar -zxvf memcached-1.6.3.tar.gz
# 7.指定安装目录执行安装 注意:此时需要指定依赖libevent的目录
./configure --prefix=/usr/local/memcached-1.6.3 --with-libevent=/usr/local/libevent-2.1.11
# 8.启动memcached 命令中的路径要根据自己安装目录写。不要写错了
/usr/local/memcached-1.6.3/bin/memcached -d -m 256 -u root -p 11211 -c 500 -P /tmp/memcached.pid
# 9.查看memcached是否已经启动
ps aux | grep memcached
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 1.下载libevent
wgethttps://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
# 2.解压libevent
tar-zxvflibevent-2.1.11-stable.tar.gz
# 3.指定安装目录执行安装
./configure--prefix=/usr/local/libevent-2.1.11
make&&makeinstall
# 4.查看是否安装成功
ls-al/usr/local/libevent-2.1.11/lib|greplibevent
# 5.下载memcached
wgethttps://memcached.org/files/memcached-1.6.3.tar.gz
# 6.解压memcached
tar-zxvfmemcached-1.6.3.tar.gz
# 7.指定安装目录执行安装 注意:此时需要指定依赖libevent的目录
./configure--prefix=/usr/local/memcached-1.6.3--with-libevent=/usr/local/libevent-2.1.11
# 8.启动memcached 命令中的路径要根据自己安装目录写。不要写错了
/usr/local/memcached-1.6.3/bin/memcached-d-m256-uroot-p11211-c500-P/tmp/memcached.pid
# 9.查看memcached是否已经启动
psaux|grepmemcached
二、启动配置
前面看到启动memcached需要在安装目录下,路径太长不方便。下面将memcached加入环境变量。
Shell
# 设置环境变量
vim ~/.bashrc
# 在最后添加以下内容
# memcached
export MEMCACHED_ROOT=/usr/local/memcached-1.6.3 # 注意这里的路径要指向自己的memcached安装目录
export PATH=$MEMCACHED_ROOT/bin:$PATH
# 这里保存.bashrc文件并从新加载配置
source ~/.bashrc
# 到这里可以直接运行memcached启动
memcached -d -m 256 -u root -p 11211 -c 500 -P /tmp/memcached.pid
1
2
3
4
5
6
7
8
9
10
11
# 设置环境变量
vim~/.bashrc
# 在最后添加以下内容
# memcached
exportMEMCACHED_ROOT=/usr/local/memcached-1.6.3# 注意这里的路径要指向自己的memcached安装目录
exportPATH=$MEMCACHED_ROOT/bin:$PATH
# 这里保存.bashrc文件并从新加载配置
source~/.bashrc
# 到这里可以直接运行memcached启动
memcached-d-m256-uroot-p11211-c500-P/tmp/memcached.pid
memcached常用参数选项:
-p 指定监听的TCP端口,默认11211
-U 指定监听的UDP端口,默认为0,即不开启
-l 指定监听的主机IP地址,如果是本机可以不写
-u 设置运行Memcached实例的用户
-m 设置存储数据用的内存容量(不包括Memcached本身占用的),单位MB,默认64MB
-c 设置最大连接数,默认1024
-M 禁用自动缓存清除(LRU策略),在内存不足时报错
-P 将进程PID保存到文件中,必须配合-d选项(开启后台模式)使用
-t 设置Memcached线程数,和Redis不同,Memcached支持多线程,默认为4,建议设置为和本机CPU数量一致
-L 启用大内存页,可以提高性能
-f 增长因子,默认1.25
-R 单个事件的最大连接数,默认20
-C 禁用CAS命令,可以减少开销
三、问题解决
若安装过程中出现configure: error : no acceptable C compiler found in $PATH错误时是没有安装gcc,运行命令yum install gcc* make*安装gcc。
can't run as root without the -u switch。此时需要指定用户,-u root