telnet连接到Memcached服务器以后,可以使用很多命令,比如:get,gets,set,touch,delete,add,replace,append,prepend,incr,decr,cas,flush_all,version,quit等等
Memcached存储命令的格式:
<command name> <key> <flags> <exptime> <bytes>
<data block>
参数说明如下:
<command name> | set/add/replace |
<key> | 查找关键字(key的最大长度为250字节) |
<flags> | 客户机使用它存储关于键值对的额外信息 |
<exptime> | 该数据的存活时间,0表示永远 |
<bytes> | 存储字节数 |
<data block> | 存储的数据块(默认情况下最大为1M,即一个Slab的大小) |
添加命令
set
使用set不管什么情况都会把数据存到Memcached,即set命令既有添加的作用也有更新的作用。
set fish 7 0 8
12312312
STORED
add
只有当Key在Memcached不存在的时候才会添加。
//key不存在的情况下
add fish 0 0 7
1234567
STORED
//key已经存在的情况下
add fish 0 0 7
1234567
NOT_STORED
replace
只有当Key存在的时候才替换
//Key存在的情况下,replace成功
replace fish 0 0 8
12345678
STORED
<pre name="code" class="java">//Key不存在的情况下,replace不成功
replace fish1 0 0 8 12345678NOT_STORED
touch
更新Memcached中Key对应的值的过期时间。
其实Memcached最大过期时间是30天。
//key:exp不存在
touch exp 2000
NOT_FOUND
//key:fish存在
touch fish 2000
TOUCHED
prepend
在一个已经存在的数据值(value)上追加,是在数据值的前面追加。
//Key:fish2不存在,不会存储
prepend fish2 0 0 2
12
NOT_STORED
//set Key:fish2
set fish2 0 0 2
12
STORED
//在Key:fish2的前面追加字符串“12”
prepend fish2 0 0 2
12
STORED
//查看值
get fish2
VALUE fish2 0 4
1212
END
append
在一个已经存在的数据值(value)上追加,是在数据值的后面追加。
incr
计数命令,可以在原来已经存在的数字上进行累加求和,计算并存储新的数值。//key:fish3设置值为“b”
set fish3 0 0 1
b
STORED
//在key:fish3的基础上加2,因为fish3是字符类型,所以报错。
incr fish3 2
CLIENT_ERROR cannot increment or decrement non-numeric value
//修改fish3的值为2
replace fish3 0 0 1
2
STORED
//fish3加2
incr fish3 2
4
decr
计数命令,可以在原来已经存在的数字上进行减法计算,计算并存储新的数值。
删除命令
delete
删除指定key的值
//不存在
delete fish1
NOT_FOUND
//存在
delete fish
DELETED
获取命令
get
get命令的Key可以表示一个或者多个键,键之间以空格隔开
get fish fish1
VALUE fish 0 7
1234567
VALUE fish1 0 1
1
END
gets
gets和get一样,Key可以表示一个或者多个键,键之间以空格隔开。唯一的区别是gets会打印出各个Key变化的版本。
gets fish fish1
VALUE fish 0 7 7
1234567
VALUE fish1 0 1 8
1
END
cas
cas即checked and set的意思,当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
cas fish 0 0 2 8
12
EXISTS
//VALUE fish 0 7 7,索引存储成功。
cas fish 0 0 2 7
22
STORED
其他
flush_all
flush_all
OK
version
version
VERSION 1.4.22
很简单先Ctrl+],然后quit退出telnet
^]
telnet> quit
Connection closed.