2个版本
使用旧的Rust 2015
0.1.1 | 2017年6月7日 |
---|---|
0.1.0 | 2017年6月7日 |
#2315 在 数据库接口
45KB
1K SLoC
cdbd
cdbd ("常量数据库守护进程") 是一个小型的常量数据库服务器:给定一个它理解的键值文件格式(如CDB),它将通过它使用的协议(如memcached)提供该文件。
过去我曾使用类似cdbd的公司内部工具(称为"SSTable Service")向生产服务提供预计算数据。这个想法是启动cdbd实例并获取所需数据的超级简单。在面向服务的架构中,cdbd使您的静态数据可访问。
示例
echo '+3,5:one->Hello\n' | cdbmake f.cdb f.cdb.tmp
cdbd --cdb f.cdb --memcached 11211 &
memccat --servers=localhost:11211 one
安装
使用Cargo(Rust包管理器)进行安装,如下所示
cargo install cdbd
用法
Usage: target/debug/cdbd [options]
Options:
--memcached [HOST:]PORT
What port (and optional address) to bind a memcached
service on (default address "0.0.0.0")
--cdb CDB A CDB file to serve
--mtbl MTBL An MTBL file to serve
-v, --verbose Print more logging information (may be used more than
once for more detail)
-h, --help Print this help text
支持的常量数据库
支持的协议
- memcached(使用标志
--memcached [HOST:]PORT
;仅支持memcached读取操作)
待做工作
- 负载测试和基准测试
- 使用Tokio
- 支持其他数据库
- LMDB
- SQLite?
- Berkeley DB?
- 支持其他协议
- Redis(获取和mget)
- HTTP?
- 将协议提取到它们自己的crates中?这可能允许其他人更容易地编写memcached等服务器。
许可证
版权所有 2017 Leon Barrett
根据您的选择,许可如下:
- Apache许可证第2版(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应如上双许可,没有任何附加条款或条件。
依赖关系
~5.5MB
~101K SLoC