2016-07-10 4 views
0

Infinispan 8.1.0을 사용하고 있습니다.Infinispan 런타임시 캐시 전체 수명을 동적으로 설정하십시오.

우리 프로젝트에서는 세션 캐시처럼 infinispan 캐시를 선택했습니다. 사용자가 시스템에 연결될 때마다 user-id와 session-id를 기반으로 명명 된 캐시가 만들어지는 방식으로 캐시됩니다.

세션 캐시처럼 infinispan을 사용하면 세션 메모리와 관련하여 캐시 수명을 처리해야 할 필요가 있습니다. 따라서 내가 직면해야하는 문제는 다음과 같습니다.

기본 로그 아웃 버튼을 클릭하지 않고 브라우저를 닫을 때 사용자 세션 캐시를 삭제하려면 어떻게해야합니까?

어떻게 런타임에 동적으로 사용자 세션 캐시의 수명을 새로 고칠 수 있습니까? 실제로 사용자 세션 만료 시간은 각 사용자 요청 후에 새로 고쳐 져야합니다. 그렇지 않으면 X 분 후에 세션이 아직 살아 있더라도 사용자가 캐시에서 자신의 데이터를 찾을 수 없습니다.

infinispan을 런타임에 설정할 수 있으며 캐시를 만든 후 다시 만들지 않고 캐시 만료일을 설정할 수 있습니까?

답변

1

캐시는 사용하려는 의미와 다르게 생각합니다. 관계형 데이터베이스의 테이블과 마찬가지로 모든 사용자에 대해 단일 캐시가 있어야하며 user-id 및 session-id는 캐시 이름이 아니라 키를 형성해야합니다.

그런 다음이 캐시의 항목에 대한 기본 만료 설정을 설정할 수 있습니다 (항목 당 재정의 가능). 그러나 캐시 자체가 전체적으로 만료되는 것은 아닙니다.