大家好,我是陈景序,今天我们来聊聊HandlerSocket协议的使用。HandlerSocket是MySQL的一个NoSQL插件,它可以在MySQL的mysqld进程中以后台形式工作,接受TCP连接并处理来自客户端的请求。它不支持SQL语法,但支持简单的CRUD操作,非常适合对性能有极高要求的场景。
HandlerSocket基本语法
HandlerSocket协议是基于行的,每行以LF(0x0a)结束。每行由一系列记号组成,记号之间用HT(0x09)分隔。记号可以是NULL或者已编码的字符串。
- NULL由一个单独的空字符表示(0x00)。
- 已编码的字符串遵循以下编码规则:
- 范围为[0x10-0xff]的字符将编码为其本身。
- 范围为[0x00-0x0f]的字符将用0x01为前缀,然后偏移0x40。例如,0x03将被编码为0x01 0x43。
需要注意的是,字符串可以是空的。连续的0x09 0x09表示中间有一个空字符串,连续的0x09 0x0a表示行尾有一个空字符串。
HandlerSocket示例
#include
#include
#include
#include
#include
using namespace std;
using namespace dena;
int main(int argc, char** argv) {
config conf;
conf[
