wedb_embed 0.1.2

Embedded database engine providing Redis-like APIs, built on fjall / 嵌入式数据库引擎,提供类似 Redis 的接口,底层基于 fjall 开发
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::{error::Result, traits::DbLike};

/// 通用键管理操作接口 (Keys)
pub trait Key: DbLike {
  fn del<K: AsRef<[u8]>>(&self, keys: &[K]) -> Result<usize>;
  fn exists<K: AsRef<[u8]>>(&self, keys: &[K]) -> Result<usize>;
  fn keys<P: AsRef<[u8]>>(&self, pattern: P) -> Result<Vec<Vec<u8>>>;
  fn key_count(&self) -> Result<usize>;
  fn key_persist<K: AsRef<[u8]>>(&self, key: K) -> Result<bool>;
  fn expire<K: AsRef<[u8]>>(&self, key: K, ttl_sec: u64) -> Result<bool>;
  fn expire_at<K: AsRef<[u8]>>(&self, key: K, expire_at_ms: u64) -> Result<bool>;
  fn ttl<K: AsRef<[u8]>>(&self, key: K) -> Result<i64>;
  fn pttl<K: AsRef<[u8]>>(&self, key: K) -> Result<i64>;
  fn key_type<K: AsRef<[u8]>>(&self, key: K) -> Result<&'static str>;
  fn get_key_expire_at<K: AsRef<[u8]>>(&self, key: K) -> Result<Option<u64>>;
}