2017-12-04 12 views
0

객체 목록을 캐시하려고합니다. '주문'이라고 말하십시오. 그것을 완벽하게 캐시합니다.캐시는 자바 스프링에서 하나의 객체를 축출합니다.

내가하는 일은 캐시 목록에 새 개체를 넣는 것입니다.

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).put("order", order)); 

그리고 캐시에서 특정 순서를 제거하십시오.

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).evict(orderId)); 

퇴거는 나를 위해 작동하지 않습니다.

캐시에서 날짜가 잘못된 개체를 제거/업데이트하려면 어떻게해야합니까? 원하는 객체를 가져 와서 업데이트 할 때까지 캐시를 반복하는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

답변

0

캐시에 객체를 넣어 주셔서은 "order"

cacheManager.getCacheNames().parallelStream().forEach(name -> cacheManager.getCache(name).put(orderId, order)); 
+0

캐시 PUT 잘 작동합니다 문자열 값 대신 orderId를 사용해야합니다. 하지만 이전 항목을 제거하지는 않습니다. 내 캐시에 주문 항목이 10 개 있다고 가정 해 보겠습니다. 그 후, 나는 11 개의 항목이 있습니다. 업데이트 된 객체와 이전 객체로 어떻게하면 이전 버전을 제거 할 수 있습니까? – Muneeb

+0

@Muneeb 어떤 실제 캐시 공급자를 사용하고 있습니까? –

+0

@Muneeb는 새로운 엔티티를 업데이트하기 위해 동일한 키를 가진'put' 메소드를 호출해야합니다. –