# baichun-framework-cache
[](https://crates.io/crates/baichun-framework-cache)
[](https://docs.rs/baichun-framework-cache)
[](LICENSE)
一个灵活的多级缓存系统,支持本地缓存和 Redis 缓存,是 Baichun-Rust 框架的一部分。
## 特性
- 本地缓存(基于 Moka)
- Redis 缓存(基于 deadpool-redis)
- 多级缓存
- 支持异步操作
- 简单易用的 API
- 完整的错误处理
- 可配置的缓存策略
## 安装
将以下内容添加到你的 `Cargo.toml` 文件中:
```toml
[dependencies]
baichun-framework-cache = "0.1.0"
```
## 使用方法
### 本地缓存
```rust
use baichun_framework_cache::{LocalClient, LocalConfig};
let config = LocalConfig {
max_capacity: 100,
ttl: 3600,
tti: 1800,
};
let client = LocalClient::new(config);
```
### Redis 缓存
```rust
use baichun_framework_cache::{RedisClient, RedisConfig, RedisMode};
let config = RedisConfig {
mode: RedisMode::Standalone,
node: Some(RedisNode {
host: "localhost".to_string(),
port: 6379,
}),
..Default::default()
};
let client = RedisClient::new(config).await?;
```
### 多级缓存
```rust
use baichun_framework_cache::{
MultilevelClient, MultilevelConfig, CacheMode,
LocalClient, LocalConfig, RedisClient, RedisConfig,
};
let local_client = LocalClient::new(LocalConfig::default());
let redis_client = RedisClient::new(RedisConfig::default()).await?;
let config = MultilevelConfig {
mode: CacheMode::Local,
write_through: true,
read_through: true,
..Default::default()
};
let client = MultilevelClient::new(local_client, redis_client, config);
```
## 特性标记
- `local` - 启用本地缓存(默认)
- `redis` - 启用 Redis 缓存
- `multilevel` - 启用多级缓存
- `full` - 启用所有功能
## 许可证
本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。