SpringBootでキャッシュアノテーションをどのように設定しますか?
Spring Bootでは、キャッシュを構成するためにキャッシュアノテーションを使用することができます。主な方法は2つあります。
- @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);
}
}
- 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をキャッシュストレージとして使用していますが、他のキャッシュ実装を使用する場合は、設定を適宜変更してください。