CacheKeyBuilder

Trait CacheKeyBuilder 

Source
pub trait CacheKeyBuilder {
Show 13 methods // Required method fn get_table(&self) -> &str; // Provided methods fn get_prefix(&self) -> Option<&str> { ... } fn get_tenant(&self) -> Option<&str> { ... } fn set_tenant_id(&mut self, _tenant_id: u64) { ... } fn get_modular(&self) -> Option<&str> { ... } fn get_field(&self) -> Option<&str> { ... } fn get_value_type(&self) -> ValueType { ... } fn get_expire(&self) -> Option<Duration> { ... } fn get_pattern(&self) -> String { ... } fn key(&self, uniques: &[&dyn ToString]) -> CacheKey { ... } fn hash_field_key( &self, field: &dyn ToString, uniques: &[&dyn ToString], ) -> CacheHashKey { ... } fn hash_key(&self, uniques: &[&dyn ToString]) -> CacheHashKey { ... } fn build_key(&self, uniques: &[&dyn ToString]) -> String { ... }
}

Required Methods§

Source

fn get_table(&self) -> &str

key 的业务类型,用于区分表(必填)

Provided Methods§

Source

fn get_prefix(&self) -> Option<&str>

缓存前缀,用于区分项目、环境等

Source

fn get_tenant(&self) -> Option<&str>

租户 ID,用于区分租户 非租户模式返回 None

Source

fn set_tenant_id(&mut self, _tenant_id: u64)

设置租户 ID(默认不做处理,子类可重写)

Source

fn get_modular(&self) -> Option<&str>

服务模块名,用于区分后端服务、前端模块等

Source

fn get_field(&self) -> Option<&str>

key 的字段名,用于区分字段

Source

fn get_value_type(&self) -> ValueType

缓存的 value 存储的类型

Source

fn get_expire(&self) -> Option<Duration>

缓存自动过期时间

Source

fn get_pattern(&self) -> String

获取通配符模式

Source

fn key(&self, uniques: &[&dyn ToString]) -> CacheKey

构建通用 KV 模式的 cache key 兼容 redis 和 caffeine

§参数
  • uniques: 动态参数(业务值)
Source

fn hash_field_key( &self, field: &dyn ToString, uniques: &[&dyn ToString], ) -> CacheHashKey

构建 Redis 类型的 hash cache key(带 field)

§参数
  • field: hash field
  • uniques: 动态参数
Source

fn hash_key(&self, uniques: &[&dyn ToString]) -> CacheHashKey

构建 Redis 类型的 hash cache key(无 field)

§参数
  • uniques: 动态参数
Source

fn build_key(&self, uniques: &[&dyn ToString]) -> String

根据动态参数拼接 key

key 命名规范:[前缀:][租户ID:][服务模块名:]业务类型[:业务字段][:value类型][:业务值]

Implementors§