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

Apache-2.0

16KB
354 代码行

ipjdb (进程内 JSON 数据库)

此工具不再处于积极开发状态。如果您有兴趣接管或重新利用 crates.io 上的名称,请随时联系我: [email protected]

crates.io Documentation

这是一个用于存储 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