3个版本

0.1.2 2019年12月18日
0.1.1 2019年12月15日
0.1.0 2019年12月14日

2462 / 数据库接口

BSD-3-Clause许可

20KB
468 行代码(不包括注释)

Twinkle

基于UDP,轻量级键值存储。

使用方法

使用docker。记得打开UDP端口。

$ docker run -d -p 3000:3000/udp kirisaki:twinkle

Docker仓库地址: https://hub.docker.com/repository/docker/kirisaki/twinkle

客户端库

协议

Twinkle的协议非常简单。仅发送以下表示的二进制消息。它的字节序是大端。

Ping

请求

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

响应

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

获取

请求

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x02  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...

响应(找到键)

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          | value octets
 ...------+--------+------...

响应(未找到键)

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x02  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

设置

请求

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x03  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...
          |
          | value octets ...
 ...------+--------------...

响应

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

取消设置

请求

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x04  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...

响应

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

许可证

BSD-3-Clause许可

依赖项

~5.5MB
~81K SLoC