博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Memcached] telnet命令
阅读量:6872 次
发布时间:2019-06-26

本文共 5071 字,大约阅读时间需要 16 分钟。

一:连接命令

在windows下的cmd或Linux执行

telnet 127.0.0.1 11211    (如果此处报错”telnet不是内部或外部命令”,一定是没有安装telnet客户端请见下文如何开启telnet客户端)
 

就可以连接上memcached。

[root@zhang1 ~]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.
 

执行quit退出连接。

quitConnection closed by foreign host.[root@zhang1 ~]#

 

二:存储命令

举例:

1:set添加或者编辑

set a 0 0 48888STORED

 

上述命令的意思是:设置a=8888

当数据不存在的时候,可以执行add命令,如果数据已经存在,返回NOT_STORED

add a 0 0 48888NOT_STORED

 

2:get获取

get aVALUE a 0 48888END

 

3:delete删除

delete aDELETED
 
4:replace替换
replace a 0 0 49999STORED

 

如果key不存在,则回显

NOT_STORED

三:其他命令

flush_all清除所有缓存

-------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------

关于报错”telnet不是内部或外部命令”的解决办法:

 

(Windows 7或以上的系统)

一定是没有安装telnet客户端请见下文如何开启telnet客户端

1.打开“控制面板”>“添加删除程序”>“打开或关闭Windows功能”>勾选“Telnet客户端”确定即可;

2.无需重启,再次运行 “telnet” 或 “telnet 127.0.0.1:11211” 即可

备注:关闭Telnet客户端,要重启以后才会生效;

 

-------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------

一.存储命令

存储命令的格式:

 

参数说明:

<command name> 操作命令:set/add/replace
<key> 缓存的键值
<flags> 客户机使用它存储关于键值对的额外信息
<exptime> 缓存过期时间 单位为秒 0 表示永远存储
<bytes> 缓存值的字节数
<data block> 数据块

1.添加值命令

(1) 无论如何都添加或更新的set 命令 (值不存在则添加 存在则更新)  set 设置后可以用get命令获取值 也可以使用delete命令删除该值

[root@zhang2]# telnet 127.0.0.1 11211

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set test_key 0 0 3
100
STORED
get test_key
VALUE test_key 0 3
100
END
delete test_key
DELETED
get test_key
END

(2)只有数据不存在时添加值的add命令

[root@zhang2]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.add zhang 0 0 1 //第一次添加  成功q STOREDadd zhang 0 0 1 //第二次添加 失败qNOT_STORED

(3)只有数据存在时替换的replace命令

[root@zhang2]# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.replace zhang_t 0 0 2    //replace 不存在的元素 失败22NOT_STOREDadd zhang_t 0 0 212STOREDget zhang_tVALUE zhang_t 0 212ENDreplace zhang_t 0 0 3 //replace 存在的值成功200STOREDget zhang_t //值被替换VALUE zhang_t 0 3200END

2.删除命令   delete

get zhang_tVALUE zhang_t 0 3200ENDdelete zhang_tDELETEDget zhang_tEND

二 读取命令

1.get 命令 获取一个键或多个键的值 多个键以空格分开

get zhang_t zhangVALUE zhang 0 1qENDset zhang_t 0 0 3100STOREDget zhang_t zhangVALUE zhang_t 0 3100VALUE zhang 0 1qEND

2 .gets 命令比get返回的值多一个数字 用来判断数据是否发生过改变

gets zhang_t zhangVALUE zhang_t 0 4 1851000VALUE zhang 0 1 181qENDset zhang_t 0 29 41000STOREDgets zhang_t zhangVALUE zhang_t 0 4 1861000VALUE zhang 0 1 181qEND

3. cas 的意思是 check and set 的意思,只有当最后一个参数鹤gets获取的那个用来判断数据发生改变的那个值相同时才会存储成功,否则返回 exists

 

gets zhang

VALUE zhang 0 3 188
dff
END
cas zhang 0 0 3 189
kjf
EXISTS
cas zhang 0 0 3 188
kjf
STORED
gets zhang
VALUE zhang 0 3 189
kjf
END

 

4. 自曾(incr) 自减(decr)命令

set age 0 0 210STOREDget ageVALUE age 0 210ENDincr age 212incr age 214get ageVALUE age 0 214ENDdecr age 113get ageVALUE age 0 213END

 

三 状态命令

1.stats 显示memcachd状态

statsSTAT pid 1532 //进程idSTAT uptime 348167 //服务运行秒数STAT time 1372215144 //当前unix时间戳STAT version 1.4.14 //服务器版本STAT libevent 2.0.10-stable STAT pointer_size 32 //操作系统字大小STAT rusage_user 3.997392 //进程累计用户时间STAT rusage_system 2.258656 //进程累计系统时间STAT curr_connections 5 //当前打开连接数STAT total_connections 265 //链接总数STAT connection_structures 7 //服务器分配的链接结构数STAT reserved_fds 20 //STAT cmd_get 1911 //执行get命令次数STAT cmd_set 195  //执行set命令次数STAT cmd_flush 3 //执行flush命令次数STAT cmd_touch 0STAT get_hits 1708 //get命中次数STAT get_misses 203 //get未命中次数STAT delete_misses 11 //delete 未命中次数STAT delete_hits 14 //delete命中次数STAT incr_misses 0  //incr 自增命令 未命中次数STAT incr_hits 0    //incr 命中次数STAT decr_misses 0  //decr  自减 未命中次数STAT decr_hits 0    //decr 命中次数STAT cas_misses 0   //cas 未命中次数STAT cas_hits 2     //case  命中次数STAT cas_badval 1   //使用擦拭次数STAT touch_hits 0STAT touch_misses 0STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 164108   //读取字节数STAT bytes_written 1520916 //写入字节书STAT limit_maxbytes 67108864 //分配的内存数STAT accepting_conns 1 //目前接受的连接数STAT listen_disabled_num 0STAT threads 4 //线程数STAT conn_yields 0STAT hash_power_level 16STAT hash_bytes 262144STAT hash_is_expanding 0STAT expired_unfetched 4STAT evicted_unfetched 0STAT bytes 23995  //存储字节数STAT curr_items 31 //item个数STAT total_items 189 //item总数STAT evictions 0 //为获取空间删除的item个数STAT reclaimed 17END

2.flush_all 清空所有项目

flush_allOK

3.后续追加append和prepend前面插入命令

get ageVALUE age 0 213ENDappend age 0 3ERRORappend age 0 0 6111111STOREDget ageVALUE age 0 813111111ENDprepend age 0 0 6111111STOREDget ageVALUE age 0 1411111113111111END

 

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

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

 

memecached还有其他命令 ,这里只是平时我们工作中经常用到的一些,以此文章记录备用。

转载地址:http://wgsfl.baihongyu.com/

你可能感兴趣的文章
javascript中null与undefined的区别
查看>>
mysql之select(二)
查看>>
万能分页存储过程
查看>>
jQuery模板插件jsrender
查看>>
内部类概述
查看>>
linux ln 命令使用参数详解(ln -s 软链接)
查看>>
结队开发项目—NABC模型
查看>>
qt5.4解决输出中文乱码问题
查看>>
深入分析Java ClassLoader原理
查看>>
Vim编辑器
查看>>
Codevs 3304 水果姐逛水果街Ⅰ 线段树
查看>>
linux共享windows资料
查看>>
前端UI框架总结
查看>>
( component 标签元素,及其 :is 属性 )的使用样例(组件切换的一个简单样例,不过,最好使用动画来实现组件的切换)...
查看>>
这7个人生捷径,一定不要走!
查看>>
Koa2+Mysql搭建简易博客
查看>>
Atom 初识
查看>>
Servlet、Filter和Listener
查看>>
高中数学运算能力训练题【基础中阶高阶辅导】
查看>>
Bean的装配方式
查看>>