@Cacheable 어노테이션을 사용하면 아주 간단하게 캐싱을 구현할 수 있었다.
스프링부트가 자동으로 메서드를 호출할 때의 인자를 확인하여 지정한 키로 캐시를 확인해주기 때문이다.
하지만 이 방법은 메서드 자체에 자동으로 설정되기 때문에 내가 원하는 시점, 원하는 상황에서 원하는 방법으로 캐시를 확인하거나 처리할 수 없어 답답할 수 있다.
이럴 땐 직접 캐시를 관리하는 방법을 알아야 한다.
캐시의 조회 방법도 아주 간단하다.
1. 원하는 캐시명을 입력하여 가져온 뒤
2. 키를 생성하고
3. get(키) 를 통해 데이터를 가져올 수 있다.
4. evict(키) 를 통해 캐시를 삭제할 수 있다.
이때 cacheManager 에 "캐시명"에 해당하는 cacheConfig 를 별도로 생성하여 각각 설정을 해줄 수 있다.