baichun-framework-cache 0.1.0

Cache module for Baichun-Rust framework
Documentation
# baichun-framework-cache

[![Crates.io](https://img.shields.io/crates/v/baichun-framework-cache.svg)](https://crates.io/crates/baichun-framework-cache)
[![Documentation](https://docs.rs/baichun-framework-cache/badge.svg)](https://docs.rs/baichun-framework-cache)
[![License](https://img.shields.io/crates/l/baichun-framework-cache.svg)](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) 文件。