📄 系统缓存使用
内部资料,请扫码登录
pigcloud
# 前言
pigx 对 Spring Cache
进行了扩展,支持到期删除、区分租户和全局缓存等操作。
关于 Spring Cache 注解的使用,请直接参考此博客 (opens new window)。
# 使用方法
当引入 pigx-common-data
模块时,会自动引入扩展版本的 Spring Cache
。
# 缓存过期支持
通过在原有的 Spring Cache 的 value 属性后增加 #过期时间 来设置缓存过期时间。
@Cacheable(value = VALUE_NAME#TTL, key = "#PARAMS")
例如:设置过期时间为 2 秒。
@Cacheable(value = "USER#2", key = "#userId")
# 全局缓存
在 pigx 中对 Spring Cache 进行了区分,比如:
- A 租户有一个 CacheName 为 XXX。
- B 租户有一个 CacheName 为 XXX。
在多租户情况下会自动为每个租户隔离缓存,例如 A 租户的 XXX 缓存保存为 A:XXX,B 租户的 XXX 缓存保存为 B:XXX。
如果特定缓存不需要区分租户,比如某些功能对于所有租户的查询结果是一致的,只需要在 CacheName 上增加 gl:
前缀即可。
@Cacheable(value = "gl:tenant_details")