Skip to content

Cache Plugin

对应模块: io.gitee.lcgyl:lcgyl-cache-plugin

统一缓存抽象层,支持多级缓存(Caffeine + Redis)和 Spring Boot 自动配置。

✨ 特性

  • 多级缓存 - L1 (Caffeine) + L2 (Redis)
  • 自动配置 - 引入依赖即可生效,无需额外 Starter
  • 注解支持 - 完美支持 Spring @Cacheable
  • 防雪崩/穿透 - 内置随机过期和空值缓存支持

🚀 快速开始

依赖引入

gradle
implementation 'io.gitee.lcgyl:lcgyl-cache-plugin:2.2.0'

配置文件 (application.yml)

yaml
lcgyl:
  cache:
    type: MULTI_LEVEL # 可选: CAFFEINE, REDIS, MULTI_LEVEL
    multi-level:
      enable-l1: true
      enable-l2: true
      l1-update-strategy: ASYNC
    # 针对特定缓存的配置
    caches:
      user_cache:
        max-size: 5000
        expire-after-write: 10m
        cache-null-values: true # 防止穿透
        random-expire: true     # 防止雪崩

使用方法

直接使用 Spring Cache 注解:

java
@Service
public class UserService {

    @Cacheable(value = "user_cache", key = "#id")
    public User getUserById(String id) {
        return userMapper.selectById(id);
    }

    @CacheEvict(value = "user_cache", key = "#id")
    public void updateUser(String id, User user) {
        userMapper.update(user);
    }
}

Released under the Apache License 2.0