Linux安装memcached配置开机启动及基本操作讲解

460 阅读3分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

memcached安装总是记不住,每次都需要找文章安装,今天正好再次需要安装,做一个记录,方便以后用到,也希望帮助到有需要的小伙伴。

安装libevent

可以访问libevent.org/old-release…,查看相关版本
我这边就安装:libevent-2.0.21

下载文件开始安装

1、先进入local下,开始下载

cd /usr/local

2、下载libevent

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

3、解压

tar -zxvf libevent-2.0.21-stable.tar.gz

4、进入目录

cd libevent-2.0.21-stable/

5、配置

./configure --prefix=/usr/local/libevent-2.0.21-stable

image.png

6、安装

make
make install

7、检查是否安装成功

image.png

安装memcached

1、查看memcached版本

github.com/memcached/m…
我这边就选择当前最新版本:memcached-1.6.13.tar.gz

2、进入local文件,下载当前最稳定版本,并解压

cd /usr/local
wget https://memcached.org/files/memcached-1.6.13.tar.gz
tar -zxvf memcached-1.6.13.tar.gz

3、进入目录配置并安装

cd memcached-1.6.13
./configure -with-libevent=/usr/local/libevent-2.0.21-stable --prefix=/usr/local/memcached-1.6.13
make
make install

4、启动一下看下是否安装成功

/usr/local/memcached-1.6.13/bin/memcached -d -m 1028 -p 11211 -u root
ps -ef | grep memcached

image.png

5、配置开机启动

5-1、编写文件

vim /etc/init.d/memcached

#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
 
# Source function library.
. /etc/rc.d/init.d/functions
 
PORT=11211
USER=nobody
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
 
if [ -f /etc/sysconfig/memcached ];then
    . /etc/sysconfig/memcached
fi
 
# Check that networking is up.
if [ "$NETWORKING" = "no" ]
then
    exit 0
fi
 
RETVAL=0
prog="memcached"
 
start () {
    echo -n $"Starting $prog: "
    # insure that /var/run/memcached has proper permissions
    chown $USER /usr/local/memcached-1.6.13
    daemon /usr/local/memcached-1.6.13/bin/memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P /usr/local/memcached-1.6.13/memcached.pid $OPTIONS
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached
}
stop () {
    echo -n $"Stopping $prog: "
    killproc memcached
    RETVAL=$?
    echo
    if [ $RETVAL -eq 0 ] ; then
        rm -f /var/lock/subsys/memcached
        rm -f /usr/local/memcached-1.6.13/memcached.pid
    fi
}
 
restart () {
    stop
    start
}
 
 
# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
    stop
    ;;
    status)
    status memcached
    ;;
    restart|reload)
    restart
    ;;
    condrestart)
    [ -f /usr/local/memcached-1.6.13 ] && restart || :
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
    exit 1
esac
 
exit $?

如果安装目录和我的不一样,一定要记住修改里面memcached的路径\color{red}{如果安装目录和我的不一样,一定要记住修改里面memcached的路径}

5-2 赋予执行权限

chmod 755 /etc/init.d/memcached

5-3、将memcached加入系统服务

chkconfig --add memcached
chkconfig memcached on

5-4、启动memcached服务

先关闭刚刚启动的服务
service memcached stop
再进行启动
service memcached start

image.png 注意:如果其他ip需要连接,记得关闭防火墙\color{red}{注意:如果其他ip需要连接,记得关闭防火墙}

memcached基本操作

安装/打开telnet

1、linux使用telnet,如果本机没有安装,需要先安装telnet
yum install -y telnet
2、windows使用telnet
控制面板->程序和功能->启动或关闭Windows功能->给telnet打钩

image.png

存储基本命令

命令格式:
<command name> <key> <flags> <exptime> <bytes>
参数说明:\

关键字说明
command nameset/add/replace
key查找key
flags客户机使用它存储关于键值对的额外信息
exptime该数据的存活时间,0表示永远
bytes存储字节数
data block存储的数据块(可直接理解为key-value结构中的value)

添加相关命令

set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用,可以通过get key获得value

image.png
delete通过key进行删除

image.png

通过add进行数据添加,如果数据已存在,则无法成功。

image.png

通过replace进行数据替换(只有数据存在才可以替换)

image.png

读取相关

通过get可以获得一个或者多个key获得值(多个key以空格隔开)

image.png

通过gets可以查看当前key的值是否发生变化

image.png 如上图,值已经发生改变

cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”

image.png 如上图,红色轨迹失败,绿色轨迹成功。

其他相关

通过append给现有的key 值中后面追加值,如果没有则失败

image.png

通过prepend给现有的key值,前面添加值,如果没有则失败

image.png

通过flush_all清除所有值

image.png