이 항목에 대해 여러 가지 질문이 있음을 잘 알고 있지만 이해할 수 없습니다. 문제가있는 것 같습니다 @CachePut
새 값을 @Cacheable 목록에 추가하지 않습니다.@Cacheable()이 올바른 캐시를 반환하지 않음
문제를 디버깅 한 후 이라는 문 제가이 키에있는 것으로 나타났습니다. 여기
는 코드 내가 저장 방법을 호출 할 때, 키가 정수를 증가한다 캐싱에 사용되는 그래서 조각@CacheConfig(cacheNames = "documents")
interface DocumentRepository {
@CachePut(key = "#a0.id")
Document save(Document document);
@Cacheable()
List<Document> findAll();
}
, 또는 1,2,3 ... 이다 그러나 나는 얻을 때 모든 문서에서 캐시는 SimpleKey []를 키로 사용합니다. @Cacheable에 동일한 키를 사용하려고하면 SpelEvaluationException이 발생하고 'id'속성을 null에서 찾을 수 없습니다.
마지막으로 남은 것은 기능적 캐시 (데이터는 캐시에 저장 됨)이지만 어떻게 든 검색 할 수는 없습니다. 기본 캐시 구현은 EhCache입니다.