「这是我参与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
6、安装
make
make install
7、检查是否安装成功
安装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
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 $?
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
memcached基本操作
安装/打开telnet
1、linux使用telnet,如果本机没有安装,需要先安装telnet
yum install -y telnet
2、windows使用telnet
控制面板->程序和功能->启动或关闭Windows功能->给telnet打钩
存储基本命令
命令格式:
<command name> <key> <flags> <exptime> <bytes>
参数说明:\
| 关键字 | 说明 |
|---|---|
| command name | set/add/replace |
| key | 查找key |
| flags | 客户机使用它存储关于键值对的额外信息 |
| exptime | 该数据的存活时间,0表示永远 |
| bytes | 存储字节数 |
| data block | 存储的数据块(可直接理解为key-value结构中的value) |
添加相关命令
set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用,可以通过get key获得value
delete通过key进行删除
通过add进行数据添加,如果数据已存在,则无法成功。
通过replace进行数据替换(只有数据存在才可以替换)
读取相关
通过get可以获得一个或者多个key获得值(多个key以空格隔开)
通过gets可以查看当前key的值是否发生变化
如上图,值已经发生改变
cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”
如上图,红色轨迹失败,绿色轨迹成功。
其他相关
通过append给现有的key 值中后面追加值,如果没有则失败
通过prepend给现有的key值,前面添加值,如果没有则失败
通过flush_all清除所有值