memcached自己定义了一套协议,不支持http协议,所以只能以web的方式来访问memcached,在做项目的时候可能需要快捷的操作memcached,而用PHP去访问memcached又显得很麻烦,而且不方便。Linux下telnet可以直接访问memcached。
这种方式方便快捷,安装完telnet即可。telnet访问memcached的命令如下:
登录命令:
telnet host port
telnet 127.0.0.1 11211
退出:quit
一、存储命令
存储命令的格式:
1 2 | <command name> <key> <flags> <exptime> <bytes> <data block> |
参数说明如下:
set/add/replace | |
<key> | 查找关键字 |
<flags> | 整型参数,客户机使用它存储关于键值对的额外信息 |
<exptime> | 该数据的存活时间(以秒为单位,0 表示永远) |
<bytes> | 存储字节数 |
<data block> | 存储的数据块(可直接理解为key-value结构中的value) |
1、添加
(1)、无论如何都存储的set,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
例
set a 0 0 4
1234
回显:
STORED
可以通过“get key”的方式查看添加进去的记录:
get a
回显:
VALUE a 0 4
1234
END
(2)、只有数据不存在时进行添加的add
add b 0 0 3
123
STORED
如果key已经存在,则回显
NOT_STORED
(3)、只有数据存在时进行替换的replace
replace b 0 0 2
aa
STORED
如果key不存在,则回显
NOT_STORED
2、删除
命令:delete key
删除已存在的键值和不存在的记录可以返回不同的结果
delete c
NOT_FOUND
delete b
DELETED
3、修改
命令:delete key
删除已存在的键值和不存在的记录可以返回不同的结果
二、读取命令
1、get
get命令的key可以表示一个或者多个键,键之间以空格隔开
获取一个
get b
VALUE b 0 2
aa
END
获取多个
get a b
VALUE a 0 4
1234
VALUE b 0 2
aa
END
2、gets
gets命令比普通的get命令多返回了一个数字。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。
get a
VALUE a 0 4
1234
END
gets a
VALUE a 0 4 2
1234
END
get b
VALUE b 0 2
aa
END
gets b
VALUE b 0 2 5
aa
END
3、cas
cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。
gets a
VALUE a 0 4 2
1234
END
cas a 0 0 4 3
2154EXISTS ——存储失败
get a
VALUE a 0 4
1234
END
cas a 0 0 4 2
4321
STORED ——存储成功
gets a
VALUE a 0 4 6
4321
END