感谢支持
我们一直在努力

Memcached安装及常用命令

一.  安装

安装步骤:


先安装 libevent


再安装 Memcached


源码下载:(注意根据服务器位数选择对应的版本)


libevent


官网:http://monkey.org/~provos/libevent/libevent


下载:http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz


Memcached


官网:http://www.danga.com/memcachedMemcached


下载:http://www.danga.com/memcached/dist/memcached-1.4.5.tar.gz


安装 libevent


      环境:Red Hat linux 64


# tar zxvf libevent-2.0.12stable.tar.gz


# cd libevent-2.0.12-stable


# ./configure –prefix=/usr


# make


# make install



安装 Memcached


# tar zxvf memcached-1.4.5.tar.gz


# cd memcached-1.4.5


# ./configure –prefix=/usr/local


# make


# make install 


Memcached 运行


关注基本选项


-p <num> 监听的TCP端口 (缺省: 11211)


-d 以守护进程方式运行Memcached


-u <username> 运行Memcached的账户,非root用户


-m <num> 最大的内存使用, 单位是MB,缺省是 64 MB


-c <num> 软连接数量, 缺省是 1024


-v 输出警告和错误信息


-vv 打印客户端的请求和返回信息


-h 打印帮助信息


-i 打印memcachedlibevent的版权信息 


运行 Memcached


目标:使用11211端口、gongyong用户、最大占用512M内存、1024个软连接,输出


客户端请求,以守护进程方式运行


# /usr/local/bin/memcached -p 11211 -d -u gongyong -m 512 -c 1024 -vvv

二.  命令

存储命令


存储命令的格式:







1


2


<command name> <key> <flags> <exptime> <bytes>


<data block>


参数说明如下:






















<command name>


set/add/replace


<key>


查找关键字


<flags>


客户机使用它存储关于键值对的额外信息


<exptime>


该数据的存活时间,0表示永远


<bytes>


存储字节数


<data block>


存储的数据块(可直接理解为key-value结构中的value


1、添加


(1)、无论如何都存储的set




这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果setkey已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。


可以通过“get 键名的方式查看添加进去的记录:


 



如你所知,我们也可以通过delete命令删除掉,然后重新添加。


delete


(2)、只有数据不存在时进行添加的add


add


(3)、只有数据存在时进行替换的replace


replace


 


2、删除


delete


可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。

读取命令


1get


get命令的key可以表示一个或者多个键,键之间以空格隔开


get


2gets


gets


可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。


3cas


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


cas


 


 


状态命令


1stats


stats


 
在每行状态中, 是状态的名字, 使状态的数据。以下清单,是所有的状态名称,数据类型,和数据代表的含义。
类型一列中,”32u”表示32位无符号整型,”64u”表示64位无符号整型,”32u:32u”表示用冒号隔开的两个32位无符号整型。


 








































































































名称


类型


含义


pid


32u


服务器进程ID

 

uptime


32u


服务器运行时间,单位秒

 

time


32u


服务器当前的UNIX时间

 

version


string


服务器的版本号

 

rusage_user


32u:32u


该进程累计的用户时间
(
:微妙)

 

rusage_system


32u:32u


该进程累计的系统时间
(
:微妙)

 

curr_items


32u


服务器当前存储的内容数量

 

total_items


32u


服务器启动以来存储过的内容总数

 

bytes


64u


服务器当前存储内容所占用的字节数

 

curr_connections


32u


连接数量

 

total_connections


32u


服务器运行以来接受的连接总数

 

connection_structures


32u


服务器分配的连接结构的数量

 

cmd_get


32u


取回请求总数

 

cmd_set


32u


存储请求总数

 

get_hits


32u


请求成功的总次数

 

get_misses


32u


请求失败的总次数

 

bytes_read


64u


服务器从网络读取到的总字节数

 

bytes_written


64u


服务器向网络发送的总字节数

 

limit_maxbytes


32u


服务器在存储时被允许使用的字节总数

 

 

2stats items


stats items
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。


 


3stats cachedump slab_id limit_num


我们执行stats cachedump 1 0 命令效果如下:


stats items 1 0


这里slab_id1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错,不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。


stats else
通过stats itemsstats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。


 


4、其他stats命令


stats slabs,stats sizes,stats reset等等使用也比较常见。



 


其他常见命令


1append


append


在现有的缓存数据添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED


 


2prepend


append非常类似,但它的作用是在现有的缓存数据添加缓存数据。




 prepend


3flush_all


flush all


该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。


flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。


4、其他命令


memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等。

赞(0) 打赏
转载请注明出处:服务器评测 » Memcached安装及常用命令
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏