13 个版本
0.2.5 | 2022年9月26日 |
---|---|
0.2.2 | 2022年9月21日 |
0.1.9 | 2022年9月14日 |
#2001 in 数据库接口
181 每月下载量
33KB
738 行
欢迎使用 CacheStore 数据库!
注意:名称已更改为 cache_store,请使用此 https://crates.io/crates/cache_store
这是什么?
这是一个缓存数据库,您可以通过 git clone 并将其用于您的项目!
为什么我应该使用它?
它速度快,数据返回仅需 2 毫秒。此外,如果您想在本地的电脑上为您的用户存储数据,那么您可能想使用它。
启动在线数据库
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
此请求将在您内存中的 key worked 上缓存 hello。
{}/add_key/worked/hello/your_api_key
此请求将读取您内存中缓存的 worked。
{}/read_key/worked/your_api_key
此请求将删除您内存中缓存的 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 值?
此数据库具有写入空值功能,可以写入空键。如果在读取txt文件时读取到空键,则返回
{
"data" : "null"
"error" : "data is null"
}
请确保处理错误并检查错误值是否等于“成功”。
错误处理?
如果数据库按预期工作,则返回
{
"error" : "Success"
}
否则,它将显示收到的错误,如下所示。
{
"error" : "error when writing data"
}
对于本地函数,它返回一个Result<(), String>,错误相同,只需确保通过匹配字符串来处理错误。
还有其他问题吗?
在discord上联系我Carghai88#1468
拉取请求?
我会尽快回复,但请确保它遵循我的速度理念!
依赖项
~13–29MB
~485K SLoC