Memcached之存储命令(2)

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



telnet退不出去怎么办?

很简单先Ctrl+],然后quit退出telnet

^]
telnet> quit
Connection closed.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值