Cache 사 운 드 캐 시 주석

@Cacheable
방법 이 실행 되 기 전에 Spring 은 캐 시 에 데이터 가 있 는 지 확인 하고 있 으 면 캐 시 데 이 터 를 직접 되 돌려 줍 니 다.없 으 면 호출 방법 을 캐 시 에 되 돌려 줍 니 다.
  • value: 캐 시 이름 은 spring 설정 파일 에서 정의 합 니 다. 예 를 들 어 @ Cacheable (value = "my cache") 이나 @ Cacheable (value = {"cache 1", "cache 2"}
  • 을 지정 해 야 합 니 다.
  • key: 캐 시 된 key 는 비어 있 을 수 있 습 니 다. SpEL 표현 식 으로 작성 할 것 을 지정 하면 지정 하지 않 으 면 방법의 모든 매개 변 수 를 조합 하지 않 습 니 다. 예 를 들 어 @ Cacheable (value = "testcache", key = "\ # userName")
  • condition: 캐 시 조건 은 비어 있 습 니 다. SpEL 로 작성 하고 true 나 false 로 돌아 갈 수 있 습 니 다. true 만 캐 시 할 수 있 습 니 다. 예 를 들 어 @ Cacheable (value = "testcache", condition = "\ # username. length () > 2")
  • @CachePut
    어쨌든 방법의 반환 값 을 캐 시 에 넣 습 니 다. 속성 은 @ Cacheable 과 일치 합 니 다.
    @CacheEvict
    캐 시 에서 하나 이상 의 데 이 터 를 삭제 합 니 다.
  • value: 캐 시 이름 은 spring 설정 파일 에서 정의 합 니 다. 예 를 들 어 @ CachEvict (value = "my cache") 또는 @ CachEvict (value = {"cache 1", "cache 2"}
  • 를 지정 해 야 합 니 다.
  • key: 캐 시 된 key 는 비어 있 을 수 있 습 니 다. SpEL 표현 식 으로 작성 할 것 을 지정 하면 지정 하지 않 으 면 방법의 모든 매개 변 수 를 조합 하지 않 습 니 다. 예 를 들 어 @ CachEvict (value = "testcache", key = "\ # userName")
  • condition: 캐 시 조건 은 비어 있 습 니 다. SpEL 로 작성 할 수 있 습 니 다. true 또는 false 로 되 돌아 갑 니 다. true 만 캐 시 를 비 울 수 있 습 니 다. 예 를 들 어 @ CachEvict (value = "testcache", condition = "\ # userName. length () > 2")
  • allEntrie: 모든 캐 시 내용 을 비 울 지, false 로 부족 할 지, true 로 지정 하면 방법 이 호출 되면 모든 캐 시 를 즉시 비 웁 니 다. 예 를 들 어 @ CachEvict (value = "testcache", allEntries = true)
  • beforeInvocation: 방법 이 실행 되 기 전에 비 울 지 여부 입 니 다. 결 성 은 false 입 니 다. true 로 지정 하면 방법 이 실행 되 지 않 았 을 때 캐 시 를 비 웁 니 다. 결 성 된 경우 방법 이 실행 되 지 않 으 면 캐 시 를 비 우지 않 습 니 다. 예 를 들 어 @ CachEvict (value = "testcache", beforeInvocation = true)
  • @Caching
    @ Caching 주 해 를 통 해 여러 개의 주석 정책 을 하나의 방법 으로 조합 할 수 있 습 니 다. @ Caching 주 해 는 하나의 방법 이나 클래스 에 여러 개의 Spring Cache 와 관련 된 주 해 를 동시에 지정 할 수 있 습 니 다. 세 가지 속성 을 가지 고 있 습 니 다. cacheable, put, evict 는 각각 @ Cacheable, @ CachePut 와 @ CacheEvict 를 지정 하 는 데 사 용 됩 니 다.
    @Caching(cacheable = @Cacheable("users"), evict = { @CacheEvict("cache2"),
             @CacheEvict(value = "cache3", allEntries = true) })
       public User find(Integer id) {
          return null;
       }
    

    좋은 웹페이지 즐겨찾기