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 次下载
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