分享

memcached协议详解

 Dawnxu 2009-05-16

[ 文章作者:陈臻 本文版本:v1.0 最后修改:2009.5.12 本文来自: http://www./c/584 ]

相关阅读:
Memcache 协议(中英对照)
TAG: memcached
TAG: memcache

本次讲座讲师是校内网高手张洁同学,主题是“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很有意思,有时间研究研究。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多