지정된 시간 동안 액세스하지 않으면 항목이 자동으로 만료되는 java.util.Map 구현이 있습니까? 자동 제한 시간이있는 항목을 만료하는 라이브러리를 많이 발견했습니다. 하지만 여분의 조건이 있습니다. 항목은 기간 동안 액세스하지 않는 경우에만 제거해야합니다. 당신은 지정된 시간 후 퇴거됩니다 무언가를 원하는 경우 항목이 지정된 시간 동안 조회되지 않는 경우자동으로 액세스하지 않는 요소를 자동으로 매핑합니다.
0
A
답변
3
Guava's cache을 사용할 수 있습니다.
그것은 두 가지 옵션이 있습니다
- expireAfterWrite 다음 항목이 캐시에 추가 된 이후 일정 시간 후 항목을 만료합니다.
- expireAfterAccess : 항목이 캐시에서 마지막으로 액세스 된 이후 일정 기간 후 항목을 만료시킵니다.
은 당신이 원하는 것은 아파치이 매우 쉽습니다의 수동 버전을 구현하기 위해 사용할 수있는 AbstractMapDecorator있다
2
, 내가 구아바 캐시에게 https://github.com/google/guava/wiki/CachesExplained#timed-eviction
을 제안, 그것은 자동 퇴거 가져옵니다.
관련 문제
- 1. Google이 현재 위치를 자동으로 매핑합니다.
- 2. 은 syslog "messages"섹션의 필드를 자동으로 매핑합니다.
- 3. 자동으로 컴파일되지 않는 단순함
- 4. 유니 코드 문자를 유사한 EBCDIC 1047 문자에 자동으로 매핑합니다.
- 5. 은 DOM에서 요소를 자동으로 제거합니다.
- 6. 자동으로
- 7. NHibernate (C# .net) - 자동으로 SQLQuery의 결과를 dto 객체에 매핑합니다.
- 8. WebForms 모델 바인딩 : 업데이트 된 값을 자동으로 항목에 매핑합니다.
- 9. 자동으로 실행되지 않는 자식 훅
- 10. 나는 보이지 않는 자동으로 코드
- 11. 여백 자동으로 센터링하지 않는 콘텐츠
- 12. 자동으로 관리되지 않는 메모리 정리
- 13. 자동으로
- 14. 자동으로
- 15. 자동으로
- 16. 자동으로
- 17. 자동으로
- 18. 자동으로
- 19. TreeScope에서 FindFirst가 자동으로 요소를 찾지 못합니다.
- 20. CSS 여백 자동으로 센터링하지 않는 부동 요소
- 21. 는 삭제 된 요소를 정렬 자동으로
- 22. UITableView는 자동으로 마스크를 자동으로 활성화합니까?
- 23. 내가 자동으로
- 24. 파괴되었을 때 요소를 자동으로 삭제하는 C++ 컨테이너
- 25. java.util. null 요소를 자동으로 삭제하는 큐
- 26. AngularJS로 올바른 옵션 요소를 자동으로 선택합니다.
- 27. 컬렉션에 요소를 자동으로 추가 할 수 있습니까?
- 28. 서비스의 UI 구성 요소를 자동으로 실행
- 29. 배열의 각 요소를 변수에 자동으로 할당
- 30. 그 안의 요소를 자동으로 조정하는 레이아웃
번호 2입니다. 이미 https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/map/PassiveExpiringMap.html이 있으며 객체가 만료되지 않은 경우 액세스시 만료 시간을 재설정하도록 확장 할 수 있습니다. 아직. 또한 아마 이미 본 적이 있지만 기본 만료지도는 http://stackoverflow.com/questions/3802370/java-time-based-map-cache-with-expiring-keys를 참조하십시오. 편집 : 아래 답변을 훨씬 더 좋아 보인다. –