#key-value-database #database-client #key-value #database-server #kv #client-server #redis

bin+lib toboggan

基于 sled 嵌入式数据库的基于 TCP 的键值数据库服务器和客户端 cli

4 个版本

0.1.3 2022 年 9 月 5 日
0.1.2 2022 年 9 月 3 日
0.1.1 2022 年 9 月 3 日
0.1.0 2022 年 9 月 3 日

#335数据库实现

MIT 许可证

18KB
344

toboggan

Rust Report Card Crates.io docs.rs Crates.io

描述

Toboggan 是一个基于 Google 的 tarpc 库和 sled 嵌入式数据库构建的基于 RPC 的键值数据库客户端和服务器系统。这个包包含了使用 Bincode 序列化通过 TCP 的客户端和服务器二进制文件,以及一个库,它包含特性、样板代码、存根和实用工具,以便将您选择的传输和业务逻辑与由该包提供的 RPC 接口和服务器功能集成。

特性

撰写本文时,以下操作被支持,并将很快添加更多。

  • NewTree
  • Insert
  • Get
  • GetTreeNames
  • GetID (返回一个单调生成的 ID)
  • Remove

安装

cargoinstall toboggan

二进制使用

服务器

您可以使用以下命令查看服务器 cli 的帮助文本:cargo run --bin server -- -h

示例

命令 cargo run --bin server -- -a 10.0.18.135 -p 5050 -d ./db tcp 将创建/打开位于 /db 的数据库,并在 10.0.18.135:5050 上监听 RPC 请求。

客户端

您可以使用以下命令查看客户端的帮助文本:cargo run --bin client -- -h

可以使用 cargo run --bin client -- <subcommand> -h 查看特定子命令的帮助文本。

示例

要将值 "Thor M." 插入到服务器上 "names" 树的 "my_name" 键中,请使用以下命令: cargo run --bin client -- -a 10.0.18.135 -p 5050 insert -k my_name "Thor M." -t names

依赖项

~10–24MB
~277K SLoC