1 个不稳定版本
0.1.0 | 2019年7月19日 |
---|
#91 in #database-driver
55KB
1K SLoC
Agilulf 数据库驱动(针对 Rust)
lib.rs
:
这是 Agilulf KV 服务的客户端。
未来将进行许多性能优化。但现在它足够简单和快速。
此软件包测试中的基准测试使用 MemDatabase
以避免数据库算法的影响。但由于 MemDatabase
是通过 SkipList
简单实现的,它将消耗大量 RAM。
提供两个结构体以连接服务器
-
AgilulfClient
:基本客户端,它将发送请求并接收响应,然后返回函数(实际上是返回Poll::Ready
)。批处理发送策略相当简单:send_all
。响应顺序与请求顺序保持一致。 -
MultiAgilulfClient
:客户端可以使用多个 TCP 流。同时使用多个 TCP 流可以显著提高性能。一个MultiAgilulfClient
将打开多个AgilulfClient
并给它们分配一个 ID。任何请求都将通过键进行哈希处理并发送到相应的客户端。由于它是一个 KV 服务器,只需保持相同键的操作顺序一致即可。注意:SCAN
不同,此方法将影响多个键。需要守卫(就像 CPU 的内存守卫)进行此操作。
依赖项
~5.5MB
~111K SLoC