在telnet下操作memcache详解(操作命令详解)
这篇文章主要介绍了在telnet下操作memcache详解,telnet下的memcache操作命令详解,需要的朋友可以参考下
在定位问题、测试等时候经常需要对memcache的数据进行一些操作,但是其本身没有自带的客户端,所以只能通过telnet来进行操作。
通过telnet连接memcache。
memcache写入操作
telnet写入memcache命令格式
参数详解:
1.<command name> 可以是”set”, “add”, “replace”。
set:<key>不存在时添加,<key>存在时覆盖。
add:<key>不存在时添加,<key>存在时则会操作失败。
replace:<key>不存在时添加失败,<key>存在时替换数据
2.<key> 保存数据的key
3.<flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户可以将此标志用做特殊用途,此标志对服务器来说是透明的。
4.<exptime> 过期的时间。
0表示存储的数据永远不过时(但可被服务器算法:LRU 等替换)。
非0(unix时间),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。
5.<bytes> 需要存储的字节数(不包含最后的”\r\n”),当用户希望存储空数据时,可以为0
6.最后客户端需要加上”\r\n”作为”命令头”的结束标志。
7.<data block>\r\n
紧接着”命令头”结束之后就要发送数据块(即希望存储的数据内容),最后加上”\r\n”作为此次通讯的结束。
telnet响应命令
当以上数据发送结束之后,服务器将返回一个应答。可能有如下的情况:
1.STORED\r\n:表示存储成功
2.NOT_STORED\r\n: 表示存储失败,但是该失败不是由于错误。
> 通常这是由于”add”或者”replace”命令本身的要求所引起的,或者该项在删除队列之中。
示例
helloworld\r\n
STORED\r\n
获取Key&Value
获取命令格式
参数详解:
1.<key>*: 表示一个或者多个key(以空格分开)
2.\r\n:命令结束
响应结果
服务器端将返回0个或者多个的数据项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据项都接收完毕将收到END\r\n每一项的数据结构:
<data block>\r\n
参数详解:
1.<key> 希望得到存储数据的key
2.<falg> 发送set命令时设置的标志项
3.<bytes>发送数据块的长度(不包含”\r\n”)
4.\r\n 文本行的结束标志
5.<data block> 希望接收的数据项。
6.\r\n 接收一个数据项的结束标志。
PS:如果有些key出现在get命令行中但没有返回相应的数据,这意味着服务器中不存在改项,可能是超时了,或者被删除了.
示例
VALUE key 32 10
helloworld
END
删除KeyValue:
参数详解:
1.<key> 需要被删除数据的key
2.<time> 客户端希望服务器将该数据删除的时间(unix时间或者从现在开始的秒数)
3.\r\n命令头的结束
检查Memcache服务器状态
在这里可以看到memcache的获取次数,当前连接数,写入次数,已经命中率等;
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 : 最大允许使用的内存量,字节
清空统计数据:
清空所有键值
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。
退出
其他命令
1.显示各个slab的信息,包括chunk的大小、数目、使用情况等
2.显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)
3.设置或者显示详细操作记录
参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)
4.显示某个slab中的前limit_num个key列表
显示格式如下:
<key_name>:键名
<value_length>:值长度(单位字节)
<expire_time|access_time>:memcached 1.2.2及以前版本显示的是 访问时间(timestamp)
在telnet下操作memcache详解(操作命令详解)的更多相关文章
- linux下操作memcache的操作命令
1.连接memcache linux下一般使用telnet连接memcache服务 [root@localhost ~]# telnet 127.0.0.1 11266 Trying 127.0.0. ...
- php操作memcache的用法、详解和方法介绍
1.简介 memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问. memcache也提供用于通信对话(sess ...
- Linux下文件和文件夹操作命令详解
花了两个小时的时间,把文件和文件夹相关的常用命令:创建.删除.移动.复制.查找.重命名在linux上测试了一把,总结下来.文件夹的这些基本操作是要多注意的,一不小心就达不到你想要的效果. 文件夹操作: ...
- Python下操作Memcache/Redis/RabbitMQ说明
一.MemcacheMemcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的.需要频繁访 ...
- 详解PHP操作Memcache缓存技术提高响应速度的方法
本文转载http://blog.csdn.net/zhihua_w 不错的博客,仅供本人学习之用 一般来说,如果并发量不大的情况,使不使用缓存技术并没有什么影响,但如果高并发的情况,使用缓存技术就显 ...
- 【转】adb操作命令详解及大全
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...
- Ubuntu下Git从搭建到使用详解
Ubuntu下Git从搭建到使用详解 一.git的搭建 (1).sudo apt-get update (2).sudo apt-get -y install git 符:安装最新版本方法: add- ...
- 转:adb操作命令详解及大全
说到 ADB 大家应该都不陌生,即 Android Debug Bridge,Android调试桥,身为 Android 开发的我们,熟练使用 ADB 命令将会大大提升我们的开发效率, ADB 的命令 ...
- CentOS6.5下VNC Server远程桌面配置详解
参考文献: (总结)CentOS Linux下VNC Server远程桌面配置详解 远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载 VNC连接黑屏的问题 centos 6 ...
随机推荐
- [小技巧]让C#的空值处理变得更优雅
参考 http://www.codeproject.com/Articles/739772/Dynamically-Check-Nested-Values-for-IsNull-Values?msg= ...
- HTML5做的浏览器欢迎界面自动跳转
HTML5做的浏览器欢迎界面自动跳转 思路很简单,随手装逼呗.根据时间来控制背景图和文字,背景图加了毛玻璃效果,效果直接看图,用javascript来实现. 完整代码 <!DOCTYPE htm ...
- QT 十六进制整数变为字符串自动补0 && 十进制补零
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0')); int a=0001; QStri ...
- mozilla css developer center
https://developer.mozilla.org/en-US/docs/Web/CSS
- ibatis查找date类型
ibatis从oracle查询的时候,返回的类型是java.sql.Date,这个类型是不带时分秒的,我们只有在写sql的时候用to_char来转换.
- Teamwork-Week3 职责划分及团队分数分配原则
本组人数:5. 一.人员职责划分 PM:1 柴泽华 PM的职责: 1)根据项目范围.质量.时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划. 2)设置项目组中的各种角色, ...
- Jquery.ajax(……)
ajax 详细解释:http://www.cnblogs.com/mybest/archive/2011/12/13/2285730.html: 问题描述:页面发送ajax请求,服务器端返回代码总是进 ...
- python-操作mssql数据库
准备工作: cmd 命令行下安装pymssql: pip install pymssql 查询的数据库如下: 代码如下: #coding=utf-8 import pymssql class MSSQ ...
- 【BZOJ】【4011】【HNOI2015】落忆枫音
拓扑排序+DP 题解:http://blog.csdn.net/PoPoQQQ/article/details/45194103 http://www.cnblogs.com/mmlz/p/44487 ...
- JavaScript之Throw、Try 、Catch讲解
try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. 错误一定会发生 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误: 可能是 ...