4 个版本 (2 个重大变更)
0.2.1 | 2024年2月29日 |
---|---|
0.2.0 | 2024年2月29日 |
0.1.0 | 2024年2月28日 |
0.0.1 | 2024年1月29日 |
#1250 在 解析器实现
每月97 次下载
38KB
830 行
tinyresp
一个实现 Redis 序列化协议 (RESP) 的 Rust 库。
RESP 协议(REdis Serialization Protocol)的简单解析器。
关于协议的概述,请参阅官方的 Redis 序列化协议 (RESP) 文档
此库使用 nom
编写,因此使用增量解析方法。这意味着使用 parse
方法将返回一个包含 2 个元素的元组
- 剩余的输入(如果消息已完全解析,则可能为空字符串)
- 解析的值(如果消息已完全解析)
示例
use tinyresp::{parse_value, Value};
let message = "*2\r\n$5\r\nhello\r\n$5\r\nworld\r\n";
let (remaining_input, value) = parse_value(message).unwrap();
assert_eq!(remaining_input, "");
assert_eq!(value, Value::Array(vec![
Value::BulkString("hello"),
Value::BulkString("world")
]));
贡献
每个人都非常欢迎为此项目做出贡献。您可以通过在 GitHub 上 提交问题 或提出改进建议来做出贡献。
许可协议
根据 MIT 许可协议 许可。© Luciano Mammino, Roberto Gambuzzi。
依赖项
~1.2–1.8MB
~37K SLoC