首页 > 代码库 > memcached命令行操作详解

memcached命令行操作详解

连接到memcached命令行下:  telnet 127.0.0.1 11211

1.set / add / replace :

格式:<command> <key> <flags> <exptime> <bytes> (点击回车)

         <data>

a) <command> 可以是”set”, “add”, “replace”。
“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。
“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。
“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败

b) <key> 客户端需要保存数据的key。

c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。

d) <exptime> 过期的时间。
若为0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。

e) <bytes> 需要存储的字节数,当用户希望存储空数据时,<bytes>可以为0

f) <data block> 存储的数据,长度要和指定的bytes相同,大于和小于都会报错。

set name 0 0 3leeSTOREDset name 0 0 3leeeCLIENT_ERROR bad data chunkERROR

2.get : 可以获取多个key的值

get nameVALUE name 0 3lee

3.删除:delete key time

delete name //马上删除namedelete name 10  //10s后删除,测试失败

4.检查服务器状态:

stats

pid : 进程iduptime :总的运行时间,秒数time : 当前时间version : 版本号……curr_items : 当前缓存中的KeyValue数量total_items : 曾经总共经过缓存的KeyValue数量bytes : 所有的缓存使用的内存量curr_connections 当前连接数….cmd_get : 总获取次数cmd_set : 总的写入次数get_hits : 总的命中次数miss_hits :  获取失败次数…..bytes_read : 总共读取的流量字节数bytes_written : 总的写入流量字节
limit_maxbytes : 最大允许使用的内存量,字节

stats reset
清空统计数据

stats malloc     //测试失败
显示内存分配数据

stats cachedump slab_id limit_num
显示某个slab中的前limit_num个key列表

stats slabs
显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items
显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail [on|off|dump]
设置或者显示详细操作记录

参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

flush_all

清空所有键值
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。

 

Command Description Example:

getReads a valueget mykey
setSet a key unconditionallyset mykey 0 60 5
addAdd a new keyadd newkey 0 60 5
replaceOverwrite existing keyreplace key 0 60 5
appendAppend data to existing keyappend key 0 60 15
prependPrepend data to existing keyprepend key 0 60 15
incrIncrements numerical key value by given numberincr mykey 2
decrDecrements numerical key value by given numberdecr mykey 5
deleteDeletes an existing keydelete mykey
flush_allInvalidate specific items immediatelyflush_all
Invalidate all items in n secondsflush_all 900
statsPrints general statisticsstats
Prints memory statisticsstats slabs
Prints memory statisticsstats malloc
Print higher level allocation statisticsstats items
 stats detail
 stats sizes
Resets statisticsstats reset
versionPrints server version.version
verbosityIncreases log levelverbosity
quitTerminate telnet sessionquit

memcached命令行操作详解