缓存工具(待重构)
大约 1 分钟约 389 字
缓存工具
功能描述
blade-data-redis-spring-boot-starter 是一个封装了redis操作的starter,它提供了redis的基本操作,以及一些常用的redis操作。 此模块为了兼容旧有类 CacheCommands的使用,
重要
这个模块作为一个遗留项目暂时提供支持,可以直接使用spring的RedisTemplate代替(因为CacheCommands依赖于 StringRedisTemplate)。在后续版本中可能会考虑移除该模块,或者继续提供支持并增加新功能。
主要功能
- redis常用原子操作封装
GAV 坐标
Gradle
implementation(commonLibs.blade.redis.spring.boot.starter)Maven
<dependency>
<groupId>team.aikero.blade</groupId>
<artifactId>blade-redis-spring-boot-starter</artifactId>
</dependency>使用
// cacheCommands 为自动注入的redis操作类
cacheCommands.set(cacheKey, cacheValue)Spring Cache 支持
添加 @EnableCaching 注解开启缓存支持
@EnableCaching
@SpringBootApplication
class Application {
fun main(args: Array<String>) {
runApplication<Application>(*args)
}
}1. 使用 @Cacheable 注解
@Service
class UserService {
/**
* 使用全局默认配置
*/
@Cacheable(cacheNames = ["user"], key = "#id")
fun getUserByGlobalConfig(id: Long): User {
// ...
}
/**
* 自定义缓存过期时间(秒)
*/
@Cacheable(cacheNames = ["user#600"], key = "#id")
fun getUserByCustomConfig(id: Long): User {
// ...
}
}2. 使用 @CacheConfig 注解
/**
* 使用全局默认配置
*/
@CacheConfig(cacheNames = ["user"])
@Service
class UserService {
@Cacheable(key = "#id")
fun getUser(id: Long): User {
// ...
}
}
/**
* 自定义缓存过期时间(秒)
*/
@CacheConfig(cacheNames = ["user#600"])
@Service
class UserService {
@Cacheable(key = "#id")
fun getUser(id: Long): User {
// ...
}
}3. 修改全局默认配置
blade:
redis-cache:
# 默认缓存时间(秒)
defaultEntryTtl: 600注意事项
需要配置redis连接
