[SpringBoot] Cache 사용하기

Woong·2022년 9월 16일
0

Java

목록 보기
20/21

의존성 추가

  • spring-boot-starter-cache 추가

Cache 사용하기

@EnableCaching
@SpringBootApplication
public class SpringProjectApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringProjectApplication.class, args);
	}

}
  • 캐싱 어노테이션은 Spring AOP를 통해 처리

    • @Cacheable : 캐시 저장
    • @Cacheput : 캐시 갱신
    • @CacheEvict : 캐시 삭제
  • pulbic method에만 사용가능

  • 같은 객체 내의 method끼리 호출 시에는 @Cacheable이 설정되어있어도 캐싱되지 않음

@Cacheable(value = "menu")
    public List<OrderEntity> getOrderMenu(){
        System.out.println("메뉴 조회 / 캐시 저장 ");
        List<OrderEntity> menu = repository.findAll();
        return menu;
    }
@CachePut(value = "menu")
    public OrderEntity updateMenu(OrderEntity menu){
        System.out.println("메뉴 수정 / 캐시 업데이트");
        OrderEntity result = repository.save(menu);
        return result;
    }
@CacheEvict(value = "menu", allEntries = true)
    public String deleteMenu(){
        System.out.println("캐시 삭제");
        return "삭제 완료";
    }

0개의 댓글