memcached安装及简单命令

memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。

ubuntu16.0.4下memcached的安装

linux系统安装memcached首先要安装libevent库

1
2
sudo apt-get install libevent-deve
sudo apt-get install memcached

若linux系统为centos则命令为
linux系统安装memcached首先要安装libevent库

1
2
yum install libevent libevent-deve
yum install memcached

memcached的连接与关闭

启动memcached连接

找到memcached的安装目录,自动安装memcached在/usr/local/bin/memcached路径下
linux系统安装memcached首先要安装libevent库

1
memcached -u root -d -m 128m -p 11211

连接memcached语法为:telnet HOST PORT
本实例的memcached服务运行的主机为127.0.0.1(本机),端口为11211
linux系统安装memcached首先要安装libevent库

1
telnet 127.0.0.1 11211

连接成功如下图所示:


退出命令

linux系统安装memcached首先要安装libevent库

1
quit

关闭memcached

与windows直接输入memcached.exe -d stop关闭memcached不同
linux需先知道memcached的进程号,再将其杀死
查看进程号
linux系统安装memcached首先要安装libevent库

1
stats     或者     ps -ef|grep memcached

知道了memcached对应的进程号pid后,使用kill命令杀死进程即可。
注意:杀死进程前必须quit退出连接
linux系统安装memcached首先要安装libevent库

1
kill 5070

杀死进城后再次连接memcached失败,说明memcached已经被关闭。

memcached的命令

存储命令

set

set用于将value存储于key中,若set的key已经存在,该命令可以更新key所对应的原来的数据。语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
set key flag exptime bytes [noreply]
value

key:键值对中的key,用于查找缓存值
flag:可以包含键值对的整型参数,客户机使用它存储关于键值对的额外信息
exptime:再缓存中保存键值对的时间长度,以秒为单位,0表示永远
bytes:在缓存中存储的字节数
noreply:可选参数,该参数告知服务器不需要返回数据
value:存储的值,始终位于第二行

add

add用于将value存储在指定的key中,如果add的key已经存在,则不会更新数据,与之前的值仍然保持相同,会得到NOT_STORED的响应,但是过期的key会更新。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
add key flags exptime bytes [noreply]
value

replace

replace用于替换已经存在的key的value,如果可以不存在,则替换失败,并且得到NOT_STORED的响应
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
replace key flags exptime bytes [noreply]
value

append

append用于向已经存在key的value后面追加数据
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
append key flags exptime bytes [noreply]
value

prepend

prepend命令用于向已经存在key的value前面追加数据
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
prepend key flags exptime bytes [noreply]
value

cas

cas用于执行一个“检查并设置”的操作,它仅在当前客户端最后一次取值后,该key对应的值没有被其他客户端修改的情况下才能够将值写入。检查是通过cas_token参数进行的,这个参数是memcached指定给已经存在的元素的一个唯一的64位值。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
cas key flags exptime bytes unique_cas_token [noreply]
value

unique_cas_token是通过gets命令获取的一个唯一的64位值

查找命令

get

get用于获取存储在key中的value,如果key不存在,则返回空。若获取多个key的value,则使用空格将其隔开即可。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
get key
get key1 key2 key3

gets

gets用于获取CAS令牌存的value,如果key不存在,则返回空。若获取多个key的value,则使用空格将其隔开即可。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
gets key
gets key1 key2 key3

delete

delete命令用于删除已经存在的key。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
delete key [noreply]

incr/decr

incr和decr用于对已经存在的key的数字进行自增或自减操作。但是惭怍的数据必须是十进制的32位无符号整数,若key不存在,返回NOT_FOUND,若键的值不为数字,则返回CLIENT_ERROR,其他错误返回ERROR。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
2
incr key increment_values [noreply]
decr key decrement_values [noreply]

increment_values为增加的数值
decrement_values为减少的数值

flush_all

flush_all用于清理缓存中的所有的键值对,该命令提供了一个可选参数time,用于在制定的时间后执行清理缓存操作。
语法格式如下:
linux系统安装memcached首先要安装libevent库

1
flush_all [time] [noreply]
-------------本文结束感谢您的阅读-------------
AmberWu wechat
欢迎大家扫码交流!