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. 启动测试;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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 |
二、启动配置
前面看到启动memcached需要在安装目录下,路径太长不方便。下面将memcached加入环境变量。
1 2 3 4 5 6 7 8 9 10 11 |
# 设置环境变量 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 |
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
我的微信
扫一扫加我微信