1、启动Memcache 经常使用參数
memcached 1.4.3
-p <num>      设置port号(默认不设置为: 11211)
-U <num>      UDP监听port (默认: 11211, 0 时关闭)  
-l <ip_addr>  绑定地址 (默认:全部都同意,不管内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就仅仅能本机訪问)
-d            duli进程执行
-u <username> 绑定使用指定用于执行进程 <username>
-m <num>      同意最大内存用量,单位M (默认: 64 MB)
-P <file>     将PID写入文件<file>,这样能够使得后边进行高速进程终止, 须要与 -d 一起使用
如:
在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121
在window下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
在windows下注冊为服务后执行:
sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500″ start= auto
net start jb-Memcached

2、telnet连接

telnet 127.0.0.1 11211

3、写入memcache

3.1 memcached Telnet Interface

Command Description Example
get Reads a value get mykey
set Set a key unconditionally set mykey 0 60 5
add Add a new key add newkey 0 60 5
replace Overwrite existing key replace key 0 60 5
append Append data to existing key append key 0 60 15
prepend Prepend data to existing key prepend key 0 60 15
incr Increments numerical key value by given number incr mykey 2
decr Decrements numerical key value by given number decr mykey 5
delete Deletes an existing key delete mykey
flush_all Invalidate specific items immediately flush_all
Invalidate all items in n seconds flush_all 900
stats Prints general statistics stats
Prints memory statistics stats slabs
Prints memory statistics stats malloc
Print higher level allocation statistics stats items
  stats detail
  stats sizes
Resets statistics stats reset
version Prints server version. version
verbosity Increases log level verbosity
quit Terminate telnet session quit

3.2 telnet请求命令格式

<command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n
a) <command name> 能够是”set”, “add”, “replace”。
“set”表示依照对应的<key>存储该数据。没有的时候添加,有的覆盖。
“add”表示依照对应的<key>加入该数据,可是假设该<key>已经存在则会操作失败。
“replace”表示依照对应的<key>替换数据,可是假设该<key>不存在则操作失败

b) <key> client须要保存数据的key。

c) <flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和须要存储的数据一起存储,并在clientget数据时返回。

客户能够将此标志用做特殊用途,此标志对server来说是不透明的。

d) <exptime> 过期的时间。
若为0表示存储的数据永远只是时(但可被server算法:LRU 等替换)。

假设非0(unix时间或者距离此时的秒数),当过期后,server能够保证用户得不到该数据(以server时间为标准)。

e) <bytes> 须要存储的字节数(不包括最后的”\r\n”),当用户希望存储空数据时,<bytes>能够为0

f) 最后client须要加上”\r\n”作为”命令头”的结束标志。
<data block>\r\n

紧接着”命令头”结束之后就要发送数据块(即希望存储的数据内容),最后加上”\r\n”作为此次通讯的结束。

3.3 telnet响应命令

结果响应:reply
当以上数据发送结束之后,server将返回一个应答。可能有例如以下的情况:

a) “STORED\r\n”:表示存储成功
b) “NOT_STORED\r\n” : 表示存储失败,可是该失败不是因为错误。

通常这是因为”add”或者”replace”命令本身的要求所引起的,或者该项在删除队列之中。

如: set key 33 0 4\r\n
ffff\r\n

4、获取/检查KeyValue
get <key>*\r\n
a) <key>* 表示一个或者多个key(以空格分开)
b) “\r\n” 命令头的结束

结果响应:reply
server端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当全部的数据项都接收完成将收到”END\r\n”
每一项的数据结构:
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n

a) <key> 希望得到存储数据的key
b) <falg> 发送set命令时设置的标志项
c) <bytes> 发送数据块的长度(不包括”\r\n”)
d) “\r\n” 文本行的结束标志
e) <data block> 希望接收的数据项。

f) “\r\n” 接收一个数据项的结束标志。

假设有些key出如今get命令行中可是没有返回对应的数据,这意味着server中不存在这些项,这些项过时了,或者被删除了
如:get aa
VALUE aa 33 4
ffff
END

5、删除KeyValue:
delete <key> <time>\r\n

a) <key> 须要被删除数据的key
b) <time> client希望server将该数据删除的时间(unix时间或者从如今開始的秒数)
c) “\r\n” 命令头的结束

6、检查Memcacheserver状态:
stats\r\n
在这里能够看到memcache的获取次数。当前连接数,写入次数。已经命中率等;

pid : 进程id
uptime :总的执行时间,秒数
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 : 最大同意使用的内存量,字节

7、高级缓存细节查看方法:
stats reset
清空统计数据

stats malloc
显示内存分配数据

stats cachedump slab_id limit_num
显示某个slab中的前limit_num个key列表,显示格式例如以下
ITEM key_name [ value_length b; expire_time|access_time s]
当中,memcached 1.2.2及以前版本号显示的是  訪问时间(timestamp)
1.2.4以上版本号,包括1.2.4显示 过期时间(timestamp)
假设是永只是期的key,expire_time会显示为server启动的时间

stats cachedump 7 2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 s]

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

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

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

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

8、清空全部键值
flush_all
注:flush并不会将items删除,仅仅是将全部的items标记为expired。因此这时memcache依然占用全部内存。

9、退出
quit\r\n

 

Memcache及telnent命令具体解释的更多相关文章

  1. Memcache及telnent命令详解

    1.启动Memcache 常用参数 memcached 1.4.3 -p <num>      设置端口号(默认不设置为: 11211) -U <num>      UDP监听 ...

  2. Memcache及telnent命令详解--转

    1.启动Memcache 常用参数memcached 1.4.3-p <num>      设置端口号(默认不设置为: 11211)-U <num>      UDP监听端口 ...

  3. 设计模式 - 命令模式(command pattern) 多命令 具体解释

    命令模式(command pattern) 多命令 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考命令模式: http://blog.csdn.ne ...

  4. Linux学习笔记15——GDB 命令详细解释【转】

    GDB 命令详细解释 Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具. 和所有常用的调试工 ...

  5. oracle中imp命令具体解释

    oracle中imp命令具体解释 Oracle的导入有用程序(Import utility)同意从数据库提取数据,而且将数据写入操作系统文件.imp使用的基本格式:imp[username[/pass ...

  6. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

  7. Linux ln命令具体解释及使用

    Linux ln命令具体解释及使用 ln是linux中一个很重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最经常使用的參数是-s,详细使用方法是:ln –s 源文件 目标文 ...

  8. 批处理命令 For循环命令具体解释!

    批处理for命令具体解释FOR这条命令基本上都被用来处理文本,但还有其它一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行仅仅须要一个%号)FOR 參数 %%变量名 IN ( ...

  9. yum命令具体解释

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理.可以从指定的server自己 ...

随机推荐

  1. 东师理想云平台异步任务处理系统V2.0重构思路

    现存问题分析: 1.功能太多,而且杂糅到一个程序中,架构不清晰,出问题不好调试.2.系统重启后,不登录到桌面,程序不运行,用户体验差.经常的下载403等错误3.处理程序卡死,处理速度慢等问题,不支持多 ...

  2. hdu 1257 一共要多少套拦截系统 (LIS)

    给出导弹的高度 拦截的导弹会比上一次低 至少要几套拦截系统才能防御所有导弹 求一套系统能防御的最大导弹数: 反向LIS求一共要多少套:正向LIS Sample Input8 389 207 155 3 ...

  3. [转] 基于NodeJS的前后端分离的思考与实践(五)多终端适配

    前言 近年来各站点基于 Web 的多终端适配进行得如火如荼,行业间也发展出依赖各种技术的解决方案.有如基于浏览器原生 CSS3 Media Query 的响应式设计.基于云端智能重排的「云适配」方案等 ...

  4. BZOJ1266 [AHOI2006]上学路线route Floyd 最小割 SAP

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1266 题意概括 一个无向图,第一问:从1~n的最短路. 第二问,删除价值总和最小的边,使得1~n的 ...

  5. Sensor传感器(摇一摇)

    <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content ...

  6. Python 扩展技术总结(转)

    一般来说,所有能被整合或导入到其他Python脚本中的代码,都可以称为扩展.你可以用纯Python来写扩展,也可以用C/C++之类的编译型语言来写扩展,甚至可以用java,C都可以来写 python扩 ...

  7. IntelliJ IDEA(九) :插件(转)

    最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 0|11.插件的安装 打开settin ...

  8. myeclipse maven的联系

    本文非完整的maven安装步骤,这些只是我看的资料的一点点而已,做出一些总结,纯属以后可以看看我的学习经历.如有需要,可以下载我分享的Maven实战(有目录的),书中源代码下载. 设置myclipse ...

  9. Codeforces.911F.Tree Destruction(构造 贪心)

    题目链接 \(Description\) 一棵n个点的树,每次可以选择树上两个叶子节点并删去一个,得到的价值为两点间的距离 删n-1次,问如何能使最后得到的价值最大,并输出方案 \(Solution\ ...

  10. docker测试时候命令无法补全的解决方法_docker

    发现问题 在输入docker swarm 然后tab键不能像这样进行提示 和补全 tab 键也无法补全nginx容器名,下面是运行截图 解决方法: yum install -y bash-comple ...