-
[CaffeineCache] caffeineCacheManager iter, .toMap() 안됨🩸 삽질의 추억 2024. 5. 11. 13:25728x90
상황:
caffeineCacheManager 로 구현한 캐시를 순회할 일이 있는데
순회를 못함. 애초에 .toMap() 으로 접근이 안됨.
해결:
caffeineCacheManager 가 아닌 직접 Cache<K,V> 로 CaffeineCache 를 구현한다.
설명
CaffeineCacheManager은 스프링의 CacheManager 인터페이스를 통해 캐시를 관리한다
이 인터페이스는 Cache 인터페이스를 통해 제공되는 표준 기능들을 사용할 수 있지만 Caffeine의 asMap() 메서드와 같은 구체적인 메서드에 접근할 수 없다. 이는 CacheManager와 Cache 인터페이스가 캐시의 구현 세부 사항을 추상화하고 일반화하여 다양한 캐시 구현체와 호환될 수 있도록 설계되었기 때문이다.
따라서 직접 Caffeine 라이브러리로 Cache 객체를 생성하면 cache.asMap() 메서드를 사용할 수 있고, 캐시의 내부 맵에 직접 접근이 가능하다. -> 캐시 내의 모든 엔트리에 대해 더 세밀한 제어를 할 수 있으며, 캐시의 키와 값을 직접 조작할 수 있다.
728x90'🩸 삽질의 추억' 카테고리의 다른 글
[CaffeineCache] "RemovalListener 는 GC가 실행된 이후 호출된다." (0) 2024.05.15 [NCP, MongoDB] 인스턴스 랜섬웨어 감염 (0) 2024.05.14 [NCP, Spring Boot] NCP 로 HTTPS, SSL, 서브도메인 적용하기 (0) 2024.05.07 [Docker Desktop] 앱 안 열림/ resume 안됨/ restart 안됨 (0) 2024.05.04 [Spring Boot] Multiple DataBases 를 사용하는 환경에서 table이 자동으로 생성되지 않음(ddl-auto) (0) 2024.04.20