SpringBootでキャッシュアノテーションをどのように設定しますか?

Spring Bootでは、キャッシュを構成するためにキャッシュアノテーションを使用することができます。主な方法は2つあります。

  1. @EnableCachingアノテーションを使用して、キャッシュサポートを有効にし、キャッシュが必要なメソッドには@Cacheable、@CachePut、@CacheEvictなどのキャッシュアノテーションを使用します。
@SpringBootApplication
@EnableCaching
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
@Service
public class UserService {

    @Cacheable("users")
    public User getUserById(Long id) {
        // 从数据库查询用户信息
        return userRepository.findById(id).orElse(null);
    }

    @CachePut(value = "users", key = "#user.id")
    public User saveUser(User user) {
        // 保存用户信息到数据库
        return userRepository.save(user);
    }

    @CacheEvict(value = "users", key = "#id")
    public void deleteUserById(Long id) {
        // 从数据库删除用户信息
        userRepository.deleteById(id);
    }
}
  1. application.propertiesまたはapplication.ymlファイルにキャッシュに関連するプロパティを設定します。キャッシュタイプ、キャッシュの有効期限などが含まれます。
#使用Redis缓存
spring.cache.type=redis

#Redis配置
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0

#缓存过期时间(单位:秒)
spring.cache.redis.time-to-live=3600
#使用Redis缓存
spring:
  cache:
    type: redis

#Redis配置
spring:
  redis:
    host: localhost
    port: 6379
    password:
    database: 0

#缓存过期时间(单位:秒)
spring:
  cache:
    redis:
      time-to-live: 3600

注意:例として、Redisをキャッシュストレージとして使用していますが、他のキャッシュ実装を使用する場合は、設定を適宜変更してください。

bannerAds