请问你能详细解释一下memcached的二进制协议吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1096个文字,预计阅读时间需要5分钟。
目录简介memcached协议包memcached命令示例总结简介前端讲座中提到了memcached的文本协议,文本协议看起来非常简单,但对于客户端来说,选择一个效率更高的二进制协议可能更为合适。二进制协议
目录- 简介
- memcached的协议包
- memcached命令举例
- 总结
前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。
二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。
memcached的协议包对于memcached的请求包和响应包来说,除了请求头有所区别之外,其他的格式都是一样的。
所以对memcached的请求和响应都可以用同一个包的格式来表示:
前面的24个byte是包头部分,接下来的是命令行的额外数据extra,memcached中的key和value。
上面也提到了,请求包和响应包的区别就是header,下面是请求包头和响应包头的定义:
请求包头:
响应包头:
包头中各个字段的含义如下:
- Magic: 魔法数字,用来区分包头是请求包头还是响应包头
如果是请求,那么对应的Magic= 0x80,如果是响应,那么对应的Magic= 0x81。
在最初的设计中,Magic应该和协议的版本相对应的,当版本升级之后,对应的Magic也要进行相应的调整。
本文共计1096个文字,预计阅读时间需要5分钟。
目录简介memcached协议包memcached命令示例总结简介前端讲座中提到了memcached的文本协议,文本协议看起来非常简单,但对于客户端来说,选择一个效率更高的二进制协议可能更为合适。二进制协议
目录- 简介
- memcached的协议包
- memcached命令举例
- 总结
前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。
二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。
memcached的协议包对于memcached的请求包和响应包来说,除了请求头有所区别之外,其他的格式都是一样的。
所以对memcached的请求和响应都可以用同一个包的格式来表示:
前面的24个byte是包头部分,接下来的是命令行的额外数据extra,memcached中的key和value。
上面也提到了,请求包和响应包的区别就是header,下面是请求包头和响应包头的定义:
请求包头:
响应包头:
包头中各个字段的含义如下:
- Magic: 魔法数字,用来区分包头是请求包头还是响应包头
如果是请求,那么对应的Magic= 0x80,如果是响应,那么对应的Magic= 0x81。
在最初的设计中,Magic应该和协议的版本相对应的,当版本升级之后,对应的Magic也要进行相应的调整。

