Centos7中Memcached的安装与基本操作
0.软件版本
OS:CentOS7
Memcached:memcached-1.6.12.tar.gz (官网地址)
libevent依赖库:libevent-2.1.12-stable.tar.gz (官网地址)
1.下载memcached的依赖库libevent
1.1下载安装包
到官方网站下载地址(http://libevent.org/),下载最新的稳定版本(我下载的是:libevent-2.1.12-stable.tar.gz)
1.2使用xshell中的xftp上传至虚拟机中的/home/root/文件夹中
1.3解压libevent的压缩包
执行命令:
tar -zxvf libevent-2.1.12-stable.tar.gz -C /home/root/apps
(先进入到安装包所在目录下,将其解压到指定目录)
1.4进入目录
cd libevent-2.1.12-stable
1.5安装
./configure --prefix=/usr/local/libevent
若出现下图错误,则需要安装gcc依赖
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
成功安装gcc!
然后再重复./configure --prefix=/usr/local/libevent
若又出现如下错误:configure: error: openssl is a must but can not be found.
解决方案:yum install openssl-devel
(此处需要注意:centos中运行yum install openssl-devel,ubuntu系统运行apt-get install libssl-dev)
下载完成后再./configure --prefix=/usr/local/libevent
(出现上述status说明执行成功!)
make
sudo make install
1.6 测试libevent是否安装成功
ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent)
2 下载并安装Memcached
2.1下载安装包
到官方网站下载地址(https://memcached.org/downloads),下载最新的稳定版本(我下载的是:memcached-1.6.12.tar.gz)
2.2使用xshell中的xftp上传至虚拟机中的/home/root/文件夹中
2.3解压Memcached的压缩包
执行命令:tar -zxvf memcached-1.6.12.tar.gz -C /home/root/apps/
(先进入到安装包所在目录下,将其解压到指定目录)
2.4配置、编译和安装
命令执行遇到错误:
没有安装libevent库或者出现configure: error: libevent2 is required
如果确实已安装过libevent,根据提示,使用–with-libevent=/dir/命令
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
(说明安装成功)
make
sudo make install
安装目录:/usr/local/memcached/bin/memcached
2.5 设置环境变量
vi /etc/profile
在末尾填写如下内容:
export MEMCACHED_ROOT=/usr/local/memcached
export PATH=$MEMCACHED_ROOT/bin:$PATH
更新环境变量
source /etc/profile
3.运行Memcached
memcached -p 11211 -m 64M -u root -d
安装及运行过程问题
问题1:can’t run as root without the -u switch
解决方法:需要指定用户,-u root
/usr/local/memcached/bin/memcached -p 11211 -m 64M -u root -d
问题2:/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory
解决方法:
Ubuntu执行:ln -s /usr/local/lib/libevent-2.1.so.7.0.1 /usr/lib/libevent-2.1.so.7.0.1
CentOS执行:ln -s /usr/local/lib/libevent-2.1.so.7.0.1/usr/lib64/libevent-2.1.so.7.0.1
3.1测试是否运行
telnet localhost 11211
说明需安装telnet-server和xinetd!
如果没有安装,则开始安装,安装之前先查找Telnet的安装包:
yum list | grep telnet
yum list | grep xinetd
执行安装:
yum -y install telnet-server.x86_64
yum -y install telnet.x86_64
yum -y install xinetd.x86_64
(说明安装成功xinetd,其余类似)
3.2配置并启动Telnet
xinetd和telnet必须设置开机启动,否则无法启动Telnet服务!
systemctl enable xinetd.service
systemctl enable telnet.socket
接下来启动服务:
systemctl start telnet.socket
systemctl start xinetd
配置防火墙规则(直接永久关闭防火墙即可)!
默认Root无法远程访问,因此需要修改以下配置文件:
vi /etc/securetty
在末尾添加
pts/0
pts/1
保存退出,输入以下命令查看Telnet是否配置成功,出现下图信息代表成功
telnet localhost 11211
(输入quit退出)
3.3查看Memcached运行状态
echo stats | nc 127.0.0.1 11211
若出现nc未安装,执行yum install -y nc
安装即可运行
在其中可以看到pid及软件版本version
到此Memcached及其依赖库libevent均已安装成功!
4.使用telnet写入、读取、删除数据
4.1基本命令
4.1.1 add/set存储键值
语法格式:
add/set <key> <flag> <expires> <byte>
-
key:设置键;
-
flag:用于指定是否压缩数据,0不压缩,1压缩 ;
-
expires:指定数据保存的时间,一种方法是秒数(不能超过30天),另一种可以使用unix时间戳指定,0为有效期无限 ;
-
byte:保存值的字节数。
在运行get语句后,即可输入值(value)
4.1.2 get取值
get <key>
根据所给的键,得到对应的值value。
4.2简单例子
例1:向key为abc的value中存储10个字节的数据,数据的存活时间为600s
set abc 0 600 10
1234567890
例2:获取key为abc中的value数据
get abc
结果:
VALUE abc 0 10
1234567890 END
例3:修改key为abc中的数据并设置存活时间为1200s
replace abc 0 1200 10
helloworld
例4:获取键abc修改后的的value数据
get abc
结果:
VALUE abc 0 10
helloworld END
例5:删除key为abc的数据
delete abc
例6:释放所有内存
flush_all
例7:append添加值,向abc中添加值wjw
append abc 0 600 3
wjw
本文讲述了如何安装Memcached和使用telnet对其进行基本的增删改查操作!
后续可能更新有关Memcached编程操作!
(注:第十次发文,水平有限,如有错误和疑问,欢迎在评论区指出,再次感谢!)
——2021.10.05