[ 文章作者:陈臻 本文版本:v1.0 最后修改:2009.5.12 本文来自: http://www./c/584 ] 相关阅读: 本次讲座讲师是校内网高手张洁同学,主题是“memcached协议详解及java client分析比较”,java client分析比较线条化,只有在现场才能明白,此处只回顾memcached协议详解,为易于理解,标题段落有调整。 一.连接 安装好memcached,直接通过telnet localhost 11211连接。11211是memcache默认的端口。 二.协议 2.1store (存储) (可用命令)set/add/replace/prepend/append <command name> <key> <flags> <exptime> <bytes> [noreply]\r\n exptime 只能精确到秒 例如: set name 0 0 5<回车> zhangjie<回车> STORED 区别:set可能覆盖,add不能覆盖,prepend是续在前面,append是续在后面。 另:[noreply] 是新版中增加的标志,可以让服务器端不用返回。 2.2 cas(compare and set) 最新版的命令。目的保证执行的原子性。 例如: cas some 0 0 10 2 意思是:检查some的值的版本是不是2,是2才把10存进去, 2.3 get/gets get <key>* get key1\r\n get key1 key2 key3\r\n gets与get相比,返回结果会多一个版本号: gets some VALUEsome0 10 2 2008-03-20 END 2.4 delete(没得说的) 2.5 incr/decr(自增和自减) 2.6 stats(运行状态) STAT curr_items 1 STAT total_items 7 STAT bytes 58 STAT curr_connections 5 STAT total_connections 6 STAT connection_structures 6 STAT cmd_get 12 STAT cmd_set 11 STAT get_hits 8 STAT get_misses 4 三.两个java client spymemcached http://code.google.com/p/spymemcached Java memcached client http://www./memcached 关于环状的一致性hash很有意思,有时间研究研究。 |
|