baichun-framework-cache

Crates.iobaichun-framework-cache
lib.rsbaichun-framework-cache
version0.1.0
created_at2025-06-12 11:10:09.440634+00
updated_at2025-06-12 11:10:09.440634+00
descriptionCache module for Baichun-Rust framework
homepage
repositoryhttps://github.com/fangbaichun/ruoyi-rust
max_upload_size
id1709696
size95,261
(fangbc5)

documentation

https://docs.rs/baichun-framework-cache

README

baichun-framework-cache

Crates.io Documentation License

一个灵活的多级缓存系统,支持本地缓存和 Redis 缓存,是 Baichun-Rust 框架的一部分。

特性

  • 本地缓存(基于 Moka)
  • Redis 缓存(基于 deadpool-redis)
  • 多级缓存
  • 支持异步操作
  • 简单易用的 API
  • 完整的错误处理
  • 可配置的缓存策略

安装

将以下内容添加到你的 Cargo.toml 文件中:

[dependencies]
baichun-framework-cache = "0.1.0"

使用方法

本地缓存

use baichun_framework_cache::{LocalClient, LocalConfig};

let config = LocalConfig {
    max_capacity: 100,
    ttl: 3600,
    tti: 1800,
};
let client = LocalClient::new(config);

Redis 缓存

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?;

多级缓存

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 文件。

Commit count: 0

cargo fmt