# CacheGroup 分组缓存

MornBoot提供基于SpringCache (opens new window)的分组缓存CacheGroup,用于缓存的集中控制。适用于对一个Cache中不同职责的数据,有分类管理的场景。CacheGroup拥有比原生API更为灵活的缓存生成和清除方式,更贴近实际使用环境。

Since:v1.2.1

# 推荐配置

Maven

支持更多的缓存中间件

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

# 创建缓存分组

使用CacheGroups创建缓存组。CacheGroup用于保存有一定逻辑关系的数据。

CacheGroup cacheGroup = CacheGroups.cacheGroup("test");

CacheGroup支持与SpringCache (opens new window)混合使用,同时也默认支持SpringCache (opens new window)支持的所有缓存中间件,以及实现CacheManager的自定义缓存。

# 存储数据

依据groupkey缓存数据,group用于区分不同职责的数据,例如:用户的基本信息和头像地址。

cacheGroup.put("name", "1", "Timely");
cacheGroup.put("name", "2", "Rain");
cacheGroup.put("name", "3", "Milk");
cacheGroup.put("iconUrl", "1", 1);
cacheGroup.put("iconUrl", "2", 2);
cacheGroup.put("iconUrl", "3", 3);

伴随CacheGroup会创建名为test.nametest.iconUrlCache,因此可以与SpringCache (opens new window)提供的CacheManager或注解混合使用。

# 更新数据

依据groupkey更新数据。

cacheGroup.put("name", "1", "Timely Again");

# 清除数据

CacheGroup拥有比原生API更为灵活的缓存清除方式,更贴近实际使用环境。

cacheGroup.clear("name", "1"); // 清除用户1的名称
cacheGroup.clearKey("2"); // 清除用户2的名称及头像地址
cacheGroup.clearGroup("iconUrl"); // 清除所有用户的名称及头像地址