JetCache
是阿里開源的基于java開發的緩存框架,支持多種緩存類型:本地緩存、分布式緩存、多級緩存。能夠滿足不同業務場景的緩存需求。
1.導入依賴
<!--jetcache緩存 -->
<dependency><groupId>com.alicp.jetcache</groupId><artifactId>jetcache-starter-redis</artifactId><version>2.6.0</version>
</dependency>
2.在application.yaml中添加jetcache配置
jetcache:statIntervalMinutes: 0areaInCacheName: falseremote:default:type: rediskeyConvertor: fastjsonvalueEncoder: javavalueDecoder: java # value 反序列化 目前支持 java和kryopoolConfig:minIdle: 5maxIdle: 20maxTotal: 50host: ${spring.redis.host}port: ${spring.redis.port}expireAfterWriteInMillis: 1800000
3.在啟動類上添加注解
@EnableMethodCache(basePackages = "com.haha.admin",order = -9999)
@EnableCreateCacheAnnotation
public class AdminApplication {public static void main(String[] args) {SpringApplication.run(AdminApplication.class, args);}
}
4.在業務代碼中使用
@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserRepository userRepository;@Cached(name = "userCache", key = "#userId", expire = 3600)@Overridepublic User getUserById(Long userId) {return userRepository.getUserById(userId);}@CacheUpdate(name = "userCache", key = "#user.id")@Overridepublic void updateUser(User user) {userRepository.update(user);}@CacheInvalidate(name = "userCache", key = "#userId")@Overridepublic void deleteUser(Long userId) {userRepository.deleteUser(userId);}