19 个版本 (重大更改)
0.16.1 | 2024年3月16日 |
---|---|
0.16.0 | 2021年11月6日 |
0.15.0 | 2020年7月5日 |
0.14.0 | 2019年5月27日 |
#5 in #in-process
16KB
354 代码行
ipjdb (进程内 JSON 数据库)
此工具不再处于积极开发状态。如果您有兴趣接管或重新利用 crates.io 上的名称,请随时联系我: [email protected]
这是一个用于存储 JSON 数据的非常简单的数据库。每个数据库由多个集合组成。集合包含项目,这些项目是 JSON 文件。
通过库读取和修改数据库;没有单独的服务器进程。
存储
第一次打开数据库会创建一个目录。集合在该根目录内作为子目录创建。每个集合中的项目是包含具有唯一 ID 作为文件名的 JSON 数据的文件。示例
my_db.ipjdb/
my_first_collection/
8f1c09b585c57a94
2df515d82e2d8e59
c11237553a8eeede
my_second_collection/
75d2bcbf589fb94b
46b04bb7277a7e46
并发
使用文件锁定来确保对数据库的并发访问安全。锁定在集合级别进行。写操作获取独占锁定,读操作获取共享锁定。
安全性
我对这个库的生成可用性不做任何保证。如果没有其他的话,它需要更多的测试。欢迎补丁 :)
许可
Apache-2.0
依赖
~1–2MB
~38K SLoC