#cache #store #storage #quick #value #read

nightly bin+lib cache_store

快速且简单的缓存数据库供您使用!

5 个版本

0.2.7 2022 年 9 月 26 日
0.2.6 2022 年 9 月 26 日
0.2.5 2022 年 9 月 26 日
0.2.4 2022 年 9 月 26 日
0.2.3 2022 年 9 月 26 日

#2509数据库接口

每月 29 次下载

MIT 许可证

33KB
738

欢迎使用 CacheStore 数据库!

这是什么?

这是一个用于您项目的缓存数据库!

为什么我应该使用它?

它很快,返回数据仅需 2ms。此外,如果您想在本地的用户电脑上本地存储数据,那么您可能想使用它。

启动在线数据库

use cache_store;

fn main() {
    cache_store::StateData {
        api_key: "your_api_key".to_string(),
        // make sure to change this to some key!
        // change this if your want but otherwise don't
        null: "null_nil_value_key:345n,234lj52".to_string(),
        // make sure this file exists or the code will not work!
        data_storage_location: "database/".to_string(),
    }
    .start_database_online()
}

您能做什么请求?

=> GET / (index)
    => GET /read/<path>/<api_key> (read_ssd)
    => GET /add/<path>/<data_name>/<data>/<api_key> (add_ssd)
    => GET /delete/<path>/<api_key> (delete)
    => GET /null_write/<path>/<api_key> (null_write_sdd)
    => GET /add_key/<key>/<data>/<api_key> (add_ram)
    => GET /read_key/<key>/<api_key> (read_ram)
    => GET /delete_key/<key>/<api_key> (delete_ram)

如何使用它?

使用 RUST NIGHTLY!!!!!!!

使用 ` 而不是 / 来导航目录。

此请求将在 ${your_database_folder}/test/worked data.txt 中添加数据。data.txt 将包含 "this is going very well"。

{}/add/test`worked/data/this is going very well/your_api_key

此请求将删除 ${your_database_folder}/test/worked data.txt。

{}/delete/test`worked`data/your_api_key

此请求将读取 ${your_database_folder}/test/worked data.txt 中的数据。

{}/read/test`worked`data/your_api_key

此请求将在 ${your_database_folder}/test/worked data.txt 中写入 null。

{}/null_write/test`worked`data/your_api_key

此请求将在您的 RAM 中缓存键 worked 下的 hello。

{}/add_key/worked/hello/your_api_key

此请求将读取 RAM 中的缓存 worked。

{}/read_key/worked/your_api_key

此请求将删除 RAM 中的缓存 worked。

{}/delete_key/worked/hello/your_api_key

API 信息

{}/

本地主机函数

使用此功能您不需要启动数据库。

写入

use cache_store;

fn main(){
    let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
        func.write_data("this is going very well", "test/worked/local", "data")
            .expect("failed when writing data");
}

读取

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
        let check_data = func
            .read_data("test/worked/local/data")
            .expect("failed when reading");
}

删除

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
        func.delete_data("test/worked/local/data")
            .expect("delete failed");
}

写入 null

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
        func.null_write("test/worked/local/data")
            .expect("write null functions failed");
}

在 worked 中写入 hello 缓存

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
            func.add_cache_data("hello", "worked").expect("");
}

删除 hello 缓存

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
            func.delete_cache_data("hello").expect("");
}

读取 hello 缓存

use cache_store;

fn main(){
     let func = cache_store::StateData {
            api_key: "your_api_key".to_string(),
            null: "null_nil_value_key:345n,234lj52".to_string(),
            data_storage_location: "database/".to_string(),
        };
            func.read_cache_data("hello").expect("");
}

有疑问吗?

此数据库如何写入数据?

此数据库使用 txt 而不是 csv 或 json,因为 txt 是读取和写入数据最快的方式。它还使用 RAM 键存储!

它是如何组织数据的?

此数据库使用与在电脑上一样的方式组织数据。此存储方法还会自动为您创建文件!

它是如何读取数据的?

此数据库要求您放置一个目录(如果您想使用 "/",请使用 "`"),它通过逐行读取返回 txt 值(vec 值)。

此数据库如何处理 null 值?

此数据库有一个写入 null 特性来写入 null 键。如果读取 txt 时读取到 null 键,则返回

{
    "data" : "null"
    "error" : "data is null"
}

请确保处理错误并检查错误值是否等于 "Success"。

错误处理?

如果数据库按计划工作,则返回

{
    "error" : "Success"
}

否则,它显示它接收到的错误,如下所示。

{
    "error" : "error when writing data"
}

对于本地函数,它返回 Result<(), String>,错误与之前相同,只需确保通过匹配字符串处理错误。

旧版本?

名称已更改,旧版本存储在此处 https://crates.io/crates/rust_store

还有问题吗?

在discord上私信我,ID为Carghai88#1468

拉取请求?

我会尽快回复,只要确保它符合我关于速度的理念!

依赖项

约15-33MB
约520K SLoC