#parser #redis #protocols #zero-copy #resp3 #resp2 #parse2

redis-parser

用于 Redis 的 RESP2 和 RESP3 协议的无拷贝解析器

3 个版本

0.1.2 2020年11月15日
0.1.1 2020年11月15日
0.1.0 2020年11月15日

#139 in #zero-copy

MIT 许可证

19KB
479

Redis 协议解析器

Crates.io Docs Run Tests

此库为 RESP2 和 RESP3 协议提供高性能、无拷贝解析器。

用法

根据您所需的协议,有两种简单的 parse 函数。此库使用 nom 解析库,并围绕将流数据输入解析器构建。

use redis_parser::resp2::{parse as parse2, Resp2Type};
use redis_parser::resp3::{parse as parse3, Resp3Type};

assert_eq!(parse2("+test\r\n".as_bytes()), Ok((&b""[..], Resp2Type::String("test"))));
assert_eq!(parse3("#f\r\n".as_bytes()), Ok((&b""[..], Resp3Type::Boolean(false))));

依赖项

~2.5MB
~56K SLoC