[Memcached] telnet命令

本文详细介绍了Memcached的各种命令,包括连接、存储、读取、删除和状态命令等。通过具体的示例,阐述了如何使用telnet进行Memcached的管理和操作,如set、get、delete、replace、flush_all等,以及如何解决telnet命令缺失的问题。
一:连接命令

在windows下的cmd或Linux执行

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

就可以连接上memcached。

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

执行quit退出连接。

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

 

二:存储命令

举例:
1:set添加或者编辑

set a 0 0 4
8888
STORED

 

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

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

add a 0 0 4
8888
NOT_STORED

 

2:get获取

get a
VALUE a 0 4
8888
END

 

3:delete删除

delete a
DELETED
 
4:replace替换
replace a 0 0 4
9999
STORED

 

如果key不存在,则回显
NOT_STORED

三:其他命令

flush_all清除所有缓存

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

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

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

 

(Windows 7或以上的系统)

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

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

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

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

 

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

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

一.存储命令

存储命令的格式:

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

<data block>

参数说明:

<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 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
add zhang 0 0 1 //第一次添加  成功
q 
STORED
add zhang 0 0 1 //第二次添加 失败
q
NOT_STORED
复制代码

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

复制代码
[root@zhang2]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
replace zhang_t 0 0 2    //replace 不存在的元素 失败
22
NOT_STORED
add zhang_t 0 0 2
12
STORED
get zhang_t
VALUE zhang_t 0 2
12
END
replace zhang_t 0 0 3 //replace 存在的值成功
200
STORED
get zhang_t //值被替换
VALUE zhang_t 0 3
200
END
复制代码

2.删除命令   delete

复制代码
get zhang_t
VALUE zhang_t 0 3
200
END
delete zhang_t
DELETED
get zhang_t
END
复制代码

二 读取命令

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

复制代码
get zhang_t zhang
VALUE zhang 0 1
q
END
set zhang_t 0 0 3
100
STORED
get zhang_t zhang
VALUE zhang_t 0 3
100
VALUE zhang 0 1
q
END
复制代码

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

复制代码
gets zhang_t zhang
VALUE zhang_t 0 4 185
1000
VALUE zhang 0 1 181
q
END
set zhang_t 0 29 4
1000
STORED
gets zhang_t zhang
VALUE zhang_t 0 4 186
1000
VALUE zhang 0 1 181
q
END
复制代码

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 2
10
STORED
get age
VALUE age 0 2
10
END
incr age 2
12
incr age 2
14
get age
VALUE age 0 2
14
END
decr age 1
13
get age
VALUE age 0 2
13
END
复制代码

 

三 状态命令

1.stats 显示memcachd状态

复制代码
stats
STAT pid 1532 //进程id
STAT 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 0
STAT 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 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 164108   //读取字节数
STAT bytes_written 1520916 //写入字节书
STAT limit_maxbytes 67108864 //分配的内存数
STAT accepting_conns 1 //目前接受的连接数
STAT listen_disabled_num 0
STAT threads 4 //线程数
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 262144
STAT hash_is_expanding 0
STAT expired_unfetched 4
STAT evicted_unfetched 0
STAT bytes 23995  //存储字节数
STAT curr_items 31 //item个数
STAT total_items 189 //item总数
STAT evictions 0 //为获取空间删除的item个数
STAT reclaimed 17
END
复制代码

2.flush_all 清空所有项目

flush_all
OK

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

复制代码
get age
VALUE age 0 2
13
END
append age 0 3
ERROR
append age 0 0 6
111111
STORED
get age
VALUE age 0 8
13111111
END
prepend age 0 0 6
111111
STORED
get age
VALUE age 0 14
11111113111111
END
复制代码

 

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

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

 

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

posted on 2017-02-28 23:18  v.e.n.u.s 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jx270/p/6481598.html

本课题设计了一种利用Matlab平台开发的植物叶片健康状态识别方案,重点融合了色彩纹理双重特征以实现对叶片病害的自动化判别。该系统构建了直观的图形操作界面,便于用户提交叶片影像并快速获得分析结论。Matlab作为具备高效数值计算数据处理能力的工具,在图像分析模式分类领域应用广泛,本项目正是借助其功能解决农业病害监测的实际问题。 在色彩特征分析方面,叶片影像的颜色分布常其生理状态密切相关。通常,健康的叶片呈现绿色,而出现黄化、褐变等异常色彩往往指示病害或虫害的发生。Matlab提供了一系列图像处理函数,例如可通过色彩空间转换直方图统计来量化颜色属性。通过计算各颜色通道的统计参数(如均值、标准差及主成分等),能够提取具有判别力的色彩特征,从而为不同病害类别的区分提供依据。 纹理特征则用于描述叶片表面的微观结构形态变化,如病斑、皱缩或裂纹等。Matlab中的灰度共生矩阵计算函数可用于提取对比度、均匀性、相关性等纹理指标。此外,局部二值模式Gabor滤波等方法也能从多尺度刻画纹理细节,进一步增强病害识别的鲁棒性。 系统的人机交互界面基于Matlab的图形用户界面开发环境实现。用户可通过该界面上传待检图像,系统将自动执行图像预处理、特征抽取分类判断。采用的分类模型包括支持向量机、决策树等机器学习方法,通过对已标注样本的训练,模型能够依据新图像的特征向量预测其所属的病害类别。 此类课题设计有助于深化对Matlab编程、图像处理技术模式识别原理的理解。通过完整实现从特征提取到分类决策的流程,学生能够将理论知识实际应用相结合,提升解决复杂工程问题的能力。总体而言,该叶片病害检测系统涵盖了图像分析、特征融合、分类算法及界面开发等多个技术环节,为学习掌握基于Matlab的智能检测技术提供了综合性实践案例。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值